@@ -52,17 +52,19 @@ export async function logRequest(req: NextRequest, userId: string | undefined, t
5252 referer,
5353 } ;
5454
55- const labels : Record < string , string > = { } ;
56- if ( userId ) {
57- labels . userId = userId ;
58- }
59-
6055 const metadata = buildEntry ( {
6156 severity : "INFO" ,
6257 httpRequest,
63- labels,
6458 trace,
6559 } ) ;
60+ if ( userId ) {
61+ metadata . labels ! . userId = userId ;
62+ }
63+ req . headers . forEach ( ( value , key ) => {
64+ if ( key . startsWith ( "sec-ch-" ) ) {
65+ metadata . labels ! [ key ] = value ;
66+ }
67+ } ) ;
6668
6769 const log = logging . log ( "training-requests" ) ;
6870 const entry = log . entry ( metadata ) ;
@@ -73,18 +75,22 @@ async function writeLog(
7375 logName : string ,
7476 severity : "DEBUG" | "INFO" | "WARNING" | "ERROR" ,
7577 headerList : Headers | null | undefined ,
78+ stack : string | undefined ,
7679 message : string ,
7780 data ?: any ,
7881) {
7982 if ( ! logging ) return ;
8083
8184 const trace = headerList ?. get ( "x-trace" ) ;
8285
86+ const metadata = buildEntry ( { severity, trace } ) ;
87+
8388 const log = logging . log ( `training-${ logName } ` ) ;
84- const entry = log . entry (
85- buildEntry ( { severity, trace } ) ,
86- isErrorLike ( data ) ? { error : serializeError ( data ) , message } : { ...data , message } ,
87- ) ;
89+ const entry = log . entry ( metadata , {
90+ ...serializeError ( isErrorLike ( data ) ? { error : data } : data ) ,
91+ message,
92+ stack,
93+ } ) ;
8894 await log . write ( entry ) ;
8995}
9096
@@ -94,7 +100,9 @@ function logInsideRequest(
94100 message : string ,
95101 data ?: any ,
96102) {
97- after ( async ( ) => writeLog ( logName , severity , await headers ( ) , message , data ) ) ;
103+ const trace : { stack ?: string } = { } ;
104+ Error . captureStackTrace ( trace , logInsideRequest ) ;
105+ after ( async ( ) => writeLog ( logName , severity , await headers ( ) , trace . stack , message , data ) ) ;
98106}
99107
100108function logOutsideRequest (
@@ -104,7 +112,9 @@ function logOutsideRequest(
104112 data ?: any ,
105113 headerList ?: Headers | null ,
106114) {
107- void writeLog ( logName , severity , headerList , message , data ) ;
115+ const trace : { stack ?: string } = { } ;
116+ Error . captureStackTrace ( trace , logOutsideRequest ) ;
117+ void writeLog ( logName , severity , headerList , trace . stack , message , data ) ;
108118}
109119
110120export const logger = {
@@ -125,7 +135,13 @@ function logAuth(
125135 message : string ,
126136 ...params : any [ ]
127137) {
128- logOutsideRequest ( "auth" , severity , message , merge ( { } , ...params ) , headerList ) ;
138+ logOutsideRequest (
139+ "auth" ,
140+ severity === "ERROR" ? "WARNING" : severity ,
141+ message ,
142+ merge ( { } , ...params ) ,
143+ headerList ,
144+ ) ;
129145}
130146
131147export const authLogger : AuthLogger = {
0 commit comments