1
1
import { getInstrumented } from '@envelop/instrumentation' ;
2
- import { LegacyLogger , type Logger } from '@graphql-hive/logger' ;
2
+ import type { Logger } from '@graphql-hive/logger' ;
3
+ import { loggerForRequest } from '@graphql-hive/logger/request' ;
3
4
import {
4
5
defaultPrintFn ,
5
6
type Transport ,
@@ -8,12 +9,7 @@ import {
8
9
type TransportGetSubgraphExecutor ,
9
10
type TransportGetSubgraphExecutorOptions ,
10
11
} from '@graphql-mesh/transport-common' ;
11
- import {
12
- isDisposable ,
13
- iterateAsync ,
14
- loggerForExecutionRequest ,
15
- requestIdByRequest ,
16
- } from '@graphql-mesh/utils' ;
12
+ import { isDisposable , iterateAsync } from '@graphql-mesh/utils' ;
17
13
import { getBatchingExecutor } from '@graphql-tools/batch-execute' ;
18
14
import {
19
15
DelegationPlanBuilder ,
@@ -119,15 +115,8 @@ function getTransportExecutor({
119
115
transports ?: Transports ;
120
116
getDisposeReason ?: ( ) => GraphQLError | undefined ;
121
117
} ) : MaybePromise < Executor > {
122
- // TODO
123
118
const kind = transportEntry ?. kind || '' ;
124
- let log = transportContext . log ;
125
- if ( log ) {
126
- if ( subgraphName ) {
127
- log = log . child ( { subgraph : subgraphName } ) ;
128
- }
129
- log . debug ( `Loading transport "${ kind } "` ) ;
130
- }
119
+ transportContext . log . debug ( `Loading transport "${ kind } "` ) ;
131
120
return handleMaybePromise (
132
121
( ) =>
133
122
typeof transports === 'function' ? transports ( kind ) : transports [ kind ] ,
@@ -214,19 +203,18 @@ export function getOnSubgraphExecute({
214
203
let executor : Executor | undefined = subgraphExecutorMap . get ( subgraphName ) ;
215
204
// If the executor is not initialized yet, initialize it
216
205
if ( executor == null ) {
217
- let log = transportContext . log ;
218
- if ( log ) {
219
- const requestId = requestIdByRequest . get (
220
- executionRequest . context ?. request ,
221
- ) ;
222
- if ( requestId ) {
223
- log = log . child ( { requestId } ) ;
224
- }
225
- if ( subgraphName ) {
226
- log = log . child ( { subgraph : subgraphName } ) ;
227
- }
228
- log . debug ( 'Initializing executor' ) ;
206
+ let log = executionRequest . context ?. request
207
+ ? loggerForRequest (
208
+ transportContext . log ,
209
+ executionRequest . context . request ,
210
+ )
211
+ : transportContext . log ;
212
+ if ( subgraphName ) {
213
+ log = log . child ( { subgraph : subgraphName } ) ;
229
214
}
215
+ // overwrite the log in the transport context because now it contains more details
216
+ transportContext . log = log ;
217
+ log . debug ( 'Initializing executor' ) ;
230
218
// Lazy executor that loads transport executor on demand
231
219
executor = function lazyExecutor ( subgraphExecReq : ExecutionRequest ) {
232
220
return handleMaybePromise (
@@ -312,20 +300,7 @@ export function wrapExecutorWithHooks({
312
300
baseExecutionRequest . info =
313
301
baseExecutionRequest . info || ( { } as GraphQLResolveInfo ) ;
314
302
baseExecutionRequest . info . executionRequest = baseExecutionRequest ;
315
- const requestId =
316
- baseExecutionRequest . context ?. request &&
317
- requestIdByRequest . get ( baseExecutionRequest . context . request ) ;
318
- let execReqLogger = transportContext . log ;
319
- if ( execReqLogger ) {
320
- if ( requestId ) {
321
- execReqLogger = execReqLogger . child ( { requestId } ) ;
322
- }
323
- loggerForExecutionRequest . set (
324
- baseExecutionRequest ,
325
- LegacyLogger . from ( execReqLogger ) ,
326
- ) ;
327
- }
328
- execReqLogger = execReqLogger ?. child ( { subgraph : subgraphName } ) ;
303
+ const log = transportContext . log . child ( { subgraph : subgraphName } ) ;
329
304
if ( onSubgraphExecuteHooks . length === 0 ) {
330
305
return baseExecutor ( baseExecutionRequest ) ;
331
306
}
@@ -351,11 +326,10 @@ export function wrapExecutorWithHooks({
351
326
} ,
352
327
executor,
353
328
setExecutor ( newExecutor ) {
354
- execReqLogger ?. debug ( 'executor has been updated' ) ;
329
+ log ?. debug ( 'executor has been updated' ) ;
355
330
executor = newExecutor ;
356
331
} ,
357
- requestId,
358
- log : execReqLogger ,
332
+ log : log ,
359
333
} ) ,
360
334
onSubgraphExecuteDoneHooks ,
361
335
) ,
@@ -375,10 +349,7 @@ export function wrapExecutorWithHooks({
375
349
onSubgraphExecuteDoneHook ( {
376
350
result : currentResult ,
377
351
setResult ( newResult : ExecutionResult ) {
378
- execReqLogger ?. debug (
379
- 'overriding result with: ' ,
380
- newResult ,
381
- ) ;
352
+ log ?. debug ( 'overriding result with: ' , newResult ) ;
382
353
currentResult = newResult ;
383
354
} ,
384
355
} ) ,
@@ -418,10 +389,7 @@ export function wrapExecutorWithHooks({
418
389
onNext ( {
419
390
result : currentResult ,
420
391
setResult : ( res ) => {
421
- execReqLogger ?. debug (
422
- 'overriding result with: ' ,
423
- res ,
424
- ) ;
392
+ log ?. debug ( 'overriding result with: ' , res ) ;
425
393
426
394
currentResult = res ;
427
395
} ,
@@ -470,7 +438,6 @@ export interface OnSubgraphExecutePayload<TContext> {
470
438
setExecutionRequest ( executionRequest : ExecutionRequest ) : void ;
471
439
executor : Executor ;
472
440
setExecutor ( executor : Executor ) : void ;
473
- requestId ?: string ;
474
441
log : Logger ;
475
442
}
476
443
@@ -512,7 +479,6 @@ export interface OnDelegationPlanHookPayload<TContext> {
512
479
fragments : Record < string , FragmentDefinitionNode > ;
513
480
fieldNodes : SelectionNode [ ] ;
514
481
context : TContext ;
515
- requestId ?: string ;
516
482
log : Logger ;
517
483
info ?: GraphQLResolveInfo ;
518
484
delegationPlanBuilder : DelegationPlanBuilder ;
@@ -549,7 +515,6 @@ export interface OnDelegationStageExecutePayload<TContext> {
549
515
550
516
typeName : string ;
551
517
552
- requestId ?: string ;
553
518
log : Logger ;
554
519
}
555
520
@@ -600,13 +565,6 @@ export function wrapMergedTypeResolver<TContext extends Record<string, any>>(
600
565
log : Logger ,
601
566
) : MergedTypeResolver < TContext > {
602
567
return ( object , context , info , subschema , selectionSet , key , type ) => {
603
- let requestId : string | undefined ;
604
- if ( log && context [ 'request' ] ) {
605
- requestId = requestIdByRequest . get ( context [ 'request' ] ) ;
606
- if ( requestId ) {
607
- log = log . child ( { requestId } ) ;
608
- }
609
- }
610
568
if ( subschema . name ) {
611
569
log = log . child ( { subgraph : subschema . name } ) ;
612
570
}
@@ -627,7 +585,6 @@ export function wrapMergedTypeResolver<TContext extends Record<string, any>>(
627
585
key,
628
586
typeName,
629
587
type,
630
- requestId,
631
588
log,
632
589
resolver,
633
590
setResolver,
0 commit comments