Skip to content

Commit 1fca858

Browse files
authored
chore(nodejs): introduce configureLogger and deprecate configureLoggerProvider (#1921)
1 parent 75044c7 commit 1fca858

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

nodejs/packages/layer/src/wrapper.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import {
4646
} from '@opentelemetry/instrumentation-aws-lambda';
4747
import { AWSXRayPropagator } from '@opentelemetry/propagator-aws-xray';
4848
import { AWSXRayLambdaPropagator } from '@opentelemetry/propagator-aws-xray-lambda';
49-
import { LogRecordProcessor } from '@opentelemetry/sdk-logs';
5049

5150
const 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

Comments
 (0)