File tree Expand file tree Collapse file tree 4 files changed +18
-8
lines changed Expand file tree Collapse file tree 4 files changed +18
-8
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ All notable changes to experimental packages in this project will be documented
26
26
27
27
* fix(exporter-* -otlp-* ): use parseHeaders() to ensure header-values are not 'undefined' #4540
28
28
* Fixes a bug where passing ` undefined ` as a header value would crash the end-user app after the export timeout elapsed.
29
+ * fix(sdk-logs): ensure default resource attributes are used as fallbacks when a resource is passed to LoggerProvider.
29
30
30
31
### :books : (Refine Doc)
31
32
Original file line number Diff line number Diff line change @@ -46,7 +46,7 @@ const logger = logsAPI.logs.getLogger('default');
46
46
47
47
// emit a log record
48
48
logger .emit ({
49
- severityNumber: SeverityNumber .INFO ,
49
+ severityNumber: logsAPI . SeverityNumber .INFO ,
50
50
severityText: ' INFO' ,
51
51
body: ' this is a log record body' ,
52
52
attributes: { ' log.type' : ' LogRecord' },
Original file line number Diff line number Diff line change @@ -33,15 +33,14 @@ export class LoggerProvider implements logsAPI.LoggerProvider {
33
33
private readonly _sharedState : LoggerProviderSharedState ;
34
34
35
35
constructor ( config : LoggerProviderConfig = { } ) {
36
- const {
37
- resource = Resource . default ( ) ,
38
- logRecordLimits,
39
- forceFlushTimeoutMillis,
40
- } = merge ( { } , loadDefaultConfig ( ) , config ) ;
36
+ const mergedConfig = merge ( { } , loadDefaultConfig ( ) , config ) ;
37
+ const resource = Resource . default ( ) . merge (
38
+ mergedConfig . resource ?? Resource . empty ( )
39
+ ) ;
41
40
this . _sharedState = new LoggerProviderSharedState (
42
41
resource ,
43
- forceFlushTimeoutMillis ,
44
- reconfigureLimits ( logRecordLimits )
42
+ mergedConfig . forceFlushTimeoutMillis ,
43
+ reconfigureLimits ( mergedConfig . logRecordLimits )
45
44
) ;
46
45
this . _shutdownOnce = new BindOnceFuture ( this . _shutdown , this ) ;
47
46
}
Original file line number Diff line number Diff line change @@ -63,6 +63,16 @@ describe('LoggerProvider', () => {
63
63
assert . deepStrictEqual ( resource , Resource . default ( ) ) ;
64
64
} ) ;
65
65
66
+ it ( 'should fallback to default resource attrs' , ( ) => {
67
+ const passedInResource = new Resource ( { foo : 'bar' } ) ;
68
+ const provider = new LoggerProvider ( { resource : passedInResource } ) ;
69
+ const { resource } = provider [ '_sharedState' ] ;
70
+ assert . deepStrictEqual (
71
+ resource ,
72
+ Resource . default ( ) . merge ( passedInResource )
73
+ ) ;
74
+ } ) ;
75
+
66
76
it ( 'should have default forceFlushTimeoutMillis if not pass' , ( ) => {
67
77
const provider = new LoggerProvider ( ) ;
68
78
const sharedState = provider [ '_sharedState' ] ;
You can’t perform that action at this time.
0 commit comments