@@ -46,7 +46,6 @@ 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' ;
5049
5150const defaultInstrumentationList = [
5251 'dns' ,
@@ -88,10 +87,19 @@ declare global {
8887 // No explicit metric type here, but "unknown" type.
8988 // Because metric packages are important dynamically.
9089 function configureMeter ( defaultConfig : unknown ) : unknown ;
90+ /**
91+ * @deprecated please use {@link configureMeter} instead.
92+ */
9193 function configureMeterProvider ( meterProvider : unknown ) : void ;
9294
95+ // No explicit logger type here, but "unknown" type.
96+ // Because logger packages are important dynamically.
97+ function configureLogger ( defaultConfig : unknown ) : unknown ;
9398 // No explicit log type here, but "unknown" type.
9499 // Because log packages are important dynamically.
100+ /**
101+ * @deprecated please use {@link configureLogger} instead.
102+ */
95103 function configureLoggerProvider ( loggerProvider : unknown ) : void ;
96104}
97105
@@ -504,21 +512,27 @@ async function initializeLoggerProvider(
504512 ) ;
505513
506514 const logExporter = new OTLPLogExporter ( ) ;
507- const logRecordProcessors : LogRecordProcessor [ ] = [ ] ;
508- const loggerConfig = {
515+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
516+ let loggerConfig : any = {
509517 resource,
510- processors : logRecordProcessors ,
518+ processors : [ ] ,
511519 } ;
512- if ( typeof configureLoggerProvider !== 'function' ) {
513- logRecordProcessors . push ( new BatchLogRecordProcessor ( logExporter ) ) ;
520+ if ( typeof configureLogger === 'function' ) {
521+ loggerConfig = configureLogger ( loggerConfig ) ;
522+ }
523+
524+ loggerConfig . processors = loggerConfig . processors || [ ] ;
525+ if ( loggerConfig . processors . length === 0 ) {
526+ loggerConfig . processors . push ( new BatchLogRecordProcessor ( logExporter ) ) ;
514527 }
515528 // Logging for debug
516529 if ( logLevel === DiagLogLevel . DEBUG ) {
517- logRecordProcessors . push (
530+ loggerConfig . processors . push (
518531 new SimpleLogRecordProcessor ( new ConsoleLogRecordExporter ( ) ) ,
519532 ) ;
520533 }
521- const loggerProvider = new LoggerProvider ( loggerConfig ) ;
534+
535+ const loggerProvider = new LoggerProvider ( loggerConfig as object ) ;
522536 if ( typeof configureLoggerProvider === 'function' ) {
523537 configureLoggerProvider ( loggerProvider ) ;
524538 } else {
0 commit comments