@@ -26,14 +26,22 @@ import type { TelemetryDiagnosticsConfig } from "~/types";
2626// If no log level is given, use [INFO].
2727const DEFAULT_LOG_LEVEL = "info" ;
2828
29+ type GetLoggerInternalConfig = {
30+ name : string ;
31+ config ?: AioLoggerConfig ;
32+ forceSDKInitialized ?: boolean ;
33+ addTransport ?: boolean ;
34+ telemetryTransportOptions ?: Transport . TransportStreamOptions ;
35+ } ;
36+
2937/** @internal */
30- function __getLoggerInternal (
31- name : string ,
32- config ?: AioLoggerConfig ,
38+ function __getLoggerInternal ( {
39+ name,
40+ config,
3341 forceSDKInitialized = true ,
3442 addTransport = true ,
35- telemetryTransportOptions : Transport . TransportStreamOptions = { } ,
36- ) {
43+ telemetryTransportOptions = { } ,
44+ } : GetLoggerInternalConfig ) {
3745 if ( forceSDKInitialized ) {
3846 ensureSdkInitialized ( ) ;
3947 }
@@ -76,7 +84,7 @@ function __getLoggerInternal(
7684 * ```
7785 */
7886export function getLogger ( name : string , config ?: AioLoggerConfig ) {
79- return __getLoggerInternal ( name , config , true ) ;
87+ return __getLoggerInternal ( { name, config, forceSDKInitialized : true } ) ;
8088}
8189
8290/**
@@ -98,21 +106,23 @@ export function setOtelDiagLogger({
98106
99107 const aioLogLevel = logLevels [ level ] ?? level ;
100108 const { actionName } = getRuntimeActionMetadata ( ) ;
101- const logger = __getLoggerInternal (
102- loggerName ?? `${ actionName } /otel-diagnostics` ,
103- {
109+ const logger = __getLoggerInternal ( {
110+ name : loggerName ?? `${ actionName } /otel-diagnostics` ,
111+ config : {
104112 level : aioLogLevel ,
105113 logSourceAction : false ,
106114 } ,
107- false ,
108- exportLogs ,
115+ forceSDKInitialized : false ,
116+ addTransport : exportLogs ,
117+
109118 // Only use the OpenTelemetry transport (i.e. export diagnostic logs) if the log level is
110119 // set to info, warn or error. The other levels are too verbose to be exported and may expose
111120 // irrelevant/sensitive information. All logs will still be visible via `aio rt activation logs <id>`.
112- level === "info" || level === "warn" || level === "error"
113- ? { level }
114- : { level : "info" } ,
115- ) ;
121+ telemetryTransportOptions :
122+ level === "info" || level === "warn" || level === "error"
123+ ? { level }
124+ : { level : "info" } ,
125+ } ) ;
116126
117127 // Wrap the logger in a DiagLogger compatible interface.
118128 const logLevel = level . toUpperCase ( ) as keyof typeof DiagLogLevel ;
0 commit comments