@@ -38,9 +38,9 @@ const DEFAULT_FILTERED_KEYS = [
3838 "completedwaitpoints" ,
3939] ;
4040
41- // Belt-and-braces value-shape check: catches secrets that land under a field name we didn't
42- // think to deny-list (a live trigger.dev API key, a bearer token, or an OpenAI-style secret key).
43- const SECRET_VALUE_PATTERN = / ^ ( t r _ [ a - z A - Z 0 - 9 _ - ] { 4 , } | s k - [ a - z A - Z 0 - 9 _ - ] { 4 , } | B e a r e r \s + \S + ) / ;
41+ // Belt-and-braces value-shape check: catches secrets anywhere in values that land under a field
42+ // name we didn't think to deny-list (a trigger.dev API key, bearer token, or OpenAI-style key).
43+ const SECRET_VALUE_PATTERN = / ( t r _ [ a - z A - Z 0 - 9 _ - ] { 4 , } | s k - [ a - z A - Z 0 - 9 _ - ] { 4 , } | B e a r e r \s + \S + ) / ;
4444
4545// Per-field and per-structure caps so a single unbounded object (a run payload, a batch of
4646// items, a DB row) can't blow up log line size or CPU. Truncation keeps the field present and
@@ -159,7 +159,7 @@ export class Logger {
159159 const currentSpan = trace . getSpan ( context . active ( ) ) ;
160160
161161 const structuredError = extractStructuredErrorFromArgs ( this . #filteredKeys, ...args ) ;
162- const structuredMessage = extractStructuredMessageFromArgs ( ...args ) ;
162+ const structuredMessage = extractStructuredMessageFromArgs ( this . #filteredKeys , ...args ) ;
163163
164164 const structuredLog = {
165165 ...structureArgs ( safeJsonClone ( args ) as Record < string , unknown > [ ] , this . #filteredKeys) ,
@@ -225,19 +225,23 @@ function extractStructuredErrorFromArgs(
225225 message : filterKeys ( nestedError . message , filteredKeys ) ,
226226 stack : filterKeys ( nestedError . stack , filteredKeys ) ,
227227 name : nestedError . name ,
228- metadata : "metadata" in nestedError ? filterKeys ( nestedError . metadata , filteredKeys ) : undefined ,
228+ metadata :
229+ "metadata" in nestedError ? filterKeys ( nestedError . metadata , filteredKeys ) : undefined ,
229230 } ;
230231 }
231232
232233 return ;
233234}
234235
235- function extractStructuredMessageFromArgs ( ...args : Array < Record < string , unknown > | undefined > ) {
236+ function extractStructuredMessageFromArgs (
237+ filteredKeys : Set < string > ,
238+ ...args : Array < Record < string , unknown > | undefined >
239+ ) {
236240 // Check to see if there is a `message` key in the args, and if so, return it
237241 const structuredMessage = args . find ( ( arg ) => arg ?. message ) ;
238242
239243 if ( structuredMessage ) {
240- return structuredMessage . message ;
244+ return filterKeys ( structuredMessage . message , filteredKeys ) ;
241245 }
242246
243247 return ;
0 commit comments