File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -25,9 +25,14 @@ async function loggingPlugin(fastify: FastifyInstance) {
2525 const rawRequestId = request . headers [ 'x-request-id' ] ;
2626 const requestId = Array . isArray ( rawRequestId ) ? rawRequestId [ 0 ] : rawRequestId ;
2727
28+ // Extract site UUID if present
29+ const rawSiteUuid = request . headers [ 'x-site-uuid' ] ;
30+ const siteUuid = Array . isArray ( rawSiteUuid ) ? rawSiteUuid [ 0 ] : rawSiteUuid ;
31+
2832 const childContext : Record < string , unknown > = {
2933 ...traceContext ,
30- ...( requestId && { requestId} )
34+ ...( requestId && { requestId} ) ,
35+ ...( siteUuid && { siteUuid} )
3136 } ;
3237
3338 if ( Object . keys ( childContext ) . length > 0 ) {
@@ -61,7 +66,7 @@ async function loggingPlugin(fastify: FastifyInstance) {
6166 } ) ;
6267
6368 fastify . addHook ( 'onResponse' , async ( request , reply ) => {
64- request . log . info ( {
69+ request . log . debug ( {
6570 event : 'RequestCompleted' ,
6671 httpRequest : {
6772 requestMethod : request . method ,
Original file line number Diff line number Diff line change @@ -88,16 +88,11 @@ class BatchWorker {
8888 processedEvent : pageHitProcessed
8989 } ) ;
9090
91- logger . info ( {
92- event : 'WorkerProcessedMessage' ,
93- messageId : message . id ,
94- eventId : pageHitProcessed . payload . event_id
95- } ) ;
96-
9791 logger . debug ( {
98- event : 'WorkerProcessedMessageDetails ' ,
92+ event : 'WorkerProcessedMessage ' ,
9993 messageId : message . id ,
10094 messageData : this . getMessageData ( message ) ,
95+ eventId : pageHitProcessed . payload . event_id ,
10196 pageHitProcessed
10297 } ) ;
10398
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ class EventPublisher {
3333
3434 const messageId = await this . pubsub . topic ( topic ) . publishMessage ( message ) ;
3535
36- logger . info ( {
36+ logger . debug ( {
3737 event : 'EventPublishSuccessful' ,
3838 messageId,
3939 topic,
Original file line number Diff line number Diff line change @@ -4,12 +4,27 @@ import {publishEvent} from './publisher';
44export const publishPageHitRaw = async ( request : PageHitRequestType , payload : PageHitRaw ) : Promise < void > => {
55 const topic = process . env . PUBSUB_TOPIC_PAGE_HITS_RAW as string ;
66 if ( topic ) {
7- request . log . info ( { event : 'PublishingPageHitRawEvent' , event_id : payload . payload . event_id } ) ;
8- request . log . debug ( { event : 'PublishingPageHitRawEventPayload' , payload} ) ;
9- await publishEvent ( {
7+ const eventId = payload . payload . event_id ?? 'unknown' ;
8+ request . log . debug ( {
9+ event : 'PublishingPageHitRawEvent' ,
10+ event_id : eventId ,
11+ payload
12+ } ) ;
13+ const messageId = await publishEvent ( {
1014 topic,
1115 payload,
1216 logger : request . log
1317 } ) ;
18+ request . log . info ( {
19+ event : 'PublishedPageHitRawEvent' ,
20+ message_id : messageId ,
21+ event_id : eventId
22+ } ) ;
23+ request . log . debug ( {
24+ event : 'PublishedPageHitRawEventPayload' ,
25+ event_id : eventId ,
26+ message_id : messageId ,
27+ payload
28+ } ) ;
1429 }
1530} ;
Original file line number Diff line number Diff line change @@ -154,6 +154,41 @@ describe('Logging Plugin', () => {
154154 } ) ;
155155 } ) ;
156156
157+ describe ( 'x-site-uuid header' , ( ) => {
158+ it ( 'should include siteUuid in IncomingRequest log when x-site-uuid header is provided' , async ( ) => {
159+ const siteUuid = '12345678-1234-1234-1234-123456789012' ;
160+
161+ await app . inject ( {
162+ method : 'GET' ,
163+ url : '/test' ,
164+ headers : {
165+ 'x-site-uuid' : siteUuid
166+ }
167+ } ) ;
168+
169+ const incomingRequestLog = parseLogs ( ) . find (
170+ log => log . event === 'IncomingRequest'
171+ ) ;
172+
173+ expect ( incomingRequestLog ) . toBeDefined ( ) ;
174+ expect ( incomingRequestLog ?. siteUuid ) . toBe ( siteUuid ) ;
175+ } ) ;
176+
177+ it ( 'should not include siteUuid in IncomingRequest log when x-site-uuid header is not provided' , async ( ) => {
178+ await app . inject ( {
179+ method : 'GET' ,
180+ url : '/test'
181+ } ) ;
182+
183+ const incomingRequestLog = parseLogs ( ) . find (
184+ log => log . event === 'IncomingRequest'
185+ ) ;
186+
187+ expect ( incomingRequestLog ) . toBeDefined ( ) ;
188+ expect ( incomingRequestLog ) . not . toHaveProperty ( 'siteUuid' ) ;
189+ } ) ;
190+ } ) ;
191+
157192 describe ( 'request body logging' , ( ) => {
158193 it ( 'should log request body for requests over 600 KB' , async ( ) => {
159194 const largeBody = {
Original file line number Diff line number Diff line change @@ -145,8 +145,8 @@ describe('BatchWorker', () => {
145145
146146 await ( batchWorker as any ) . handleMessage ( mockMessage ) ;
147147
148- // Should log info message with just event_id for successful processing
149- expect ( logger . info ) . toHaveBeenCalledWith (
148+ // Should log debug message with event details for successful processing
149+ expect ( logger . debug ) . toHaveBeenCalledWith (
150150 expect . objectContaining ( {
151151 event : 'WorkerProcessedMessage' ,
152152 messageId : mockMessage . id ,
@@ -157,7 +157,7 @@ describe('BatchWorker', () => {
157157 // Should log debug message with full payload
158158 expect ( logger . debug ) . toHaveBeenCalledWith (
159159 expect . objectContaining ( {
160- event : 'WorkerProcessedMessageDetails ' ,
160+ event : 'WorkerProcessedMessage ' ,
161161 messageId : mockMessage . id ,
162162 messageData : validPageHitRawData ,
163163 pageHitProcessed : expect . objectContaining ( {
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ describe('publisherUtils', () => {
3232 } ) ;
3333
3434 describe ( 'publishPageHitRaw' , ( ) => {
35- it ( 'should log info message with only event_id on successful publish' , async ( ) => {
35+ it ( 'should log debug payload details on successful publish' , async ( ) => {
3636 const payload = {
3737 payload : {
3838 event_id : 'test-event-123' ,
@@ -44,12 +44,12 @@ describe('publisherUtils', () => {
4444
4545 await publishPageHitRaw ( mockRequest , payload ) ;
4646
47- expect ( mockRequest . log . info ) . toHaveBeenCalledWith (
48- { event : 'PublishingPageHitRawEvent' , event_id : 'test-event-123' }
49- ) ;
50- expect ( mockRequest . log . info ) . not . toHaveBeenCalledWith (
51- expect . objectContaining ( { payload : expect . anything ( ) } ) ,
52- expect . anything ( )
47+ expect ( mockRequest . log . debug ) . toHaveBeenCalledWith (
48+ {
49+ event : 'PublishingPageHitRawEvent' ,
50+ event_id : 'test-event-123' ,
51+ payload
52+ }
5353 ) ;
5454 } ) ;
5555
You can’t perform that action at this time.
0 commit comments