@@ -46,6 +46,7 @@ import {
4646} from '@opentelemetry/instrumentation-aws-lambda' ;
4747import { AWSXRayPropagator } from '@opentelemetry/propagator-aws-xray' ;
4848import { AWSXRayLambdaPropagator } from '@opentelemetry/propagator-aws-xray-lambda' ;
49+ import { LogRecordProcessor } from '@opentelemetry/sdk-logs' ;
4950
5051const defaultInstrumentationList = [
5152 'dns' ,
@@ -503,25 +504,28 @@ async function initializeLoggerProvider(
503504 ) ;
504505
505506 const logExporter = new OTLPLogExporter ( ) ;
507+ const logRecordProcessors : LogRecordProcessor [ ] = [ ]
506508 const loggerConfig = {
507509 resource,
510+ processors : logRecordProcessors
508511 } ;
509- const loggerProvider = new LoggerProvider ( loggerConfig ) ;
510- if ( typeof configureLoggerProvider === 'function' ) {
511- configureLoggerProvider ( loggerProvider ) ;
512- } else {
513- loggerProvider . addLogRecordProcessor (
514- new BatchLogRecordProcessor ( logExporter ) ,
512+ if ( typeof configureLoggerProvider !== 'function' ) {
513+ logRecordProcessors . push (
514+ new BatchLogRecordProcessor ( logExporter )
515515 ) ;
516- logs . setGlobalLoggerProvider ( loggerProvider ) ;
517516 }
518-
519517 // Logging for debug
520518 if ( logLevel === DiagLogLevel . DEBUG ) {
521- loggerProvider . addLogRecordProcessor (
522- new SimpleLogRecordProcessor ( new ConsoleLogRecordExporter ( ) ) ,
519+ logRecordProcessors . push (
520+ new SimpleLogRecordProcessor ( new ConsoleLogRecordExporter ( ) )
523521 ) ;
524522 }
523+ const loggerProvider = new LoggerProvider ( loggerConfig ) ;
524+ if ( typeof configureLoggerProvider === 'function' ) {
525+ configureLoggerProvider ( loggerProvider ) ;
526+ } else {
527+ logs . setGlobalLoggerProvider ( loggerProvider ) ;
528+ }
525529
526530 logsDisableFunction = ( ) => {
527531 logs . disable ( ) ;
0 commit comments