@@ -7,10 +7,13 @@ class CloudLogging {
7
7
this . _resource = Object . assign ( { type : 'global' } , options . resourceSettings )
8
8
this . _defaultLabels = Object . assign (
9
9
{ } ,
10
- { logger : 'pino' } ,
10
+ { logger : 'pino' , agent : 'cloud_pine' } ,
11
11
options . defaultLabels
12
12
)
13
13
this . _log = null
14
+ // Indicates whether the logs will be forward to stdout or
15
+ // through networking to GCP
16
+ this . _sync = options . sync ?? false
14
17
this . _logOptions = options . logOptions
15
18
}
16
19
@@ -24,14 +27,18 @@ class CloudLogging {
24
27
return this . _resource
25
28
}
26
29
30
+ get sync ( ) {
31
+ return this . _sync
32
+ }
33
+
27
34
async init ( ) {
28
35
await this . logging . setProjectId ( )
29
36
await this . logging . setDetectedResource ( )
30
37
31
38
const labels = Object . assign (
32
39
{ } ,
33
40
this . _resource . labels ,
34
- this . logging . detectedResource . labels
41
+ this . logging . detectedResource ? .labels
35
42
)
36
43
37
44
this . _resource = Object . assign (
@@ -41,7 +48,10 @@ class CloudLogging {
41
48
42
49
this . _resource . labels = labels
43
50
44
- this . _log = this . logging . log ( this . name )
51
+ this . _log = this . _sync
52
+ ? this . logging . logSync ( this . name )
53
+ : this . logging . log ( this . name )
54
+
45
55
return this . _log
46
56
}
47
57
@@ -72,6 +82,8 @@ class CloudLogging {
72
82
log . meta // Custom property to add more meta to the LogEntry
73
83
)
74
84
85
+ delete log . meta
86
+
75
87
meta . resource = Object . assign ( { } , this . _resource , meta . resource )
76
88
meta . labels = Object . assign ( { } , this . _defaultLabels , meta . labels )
77
89
@@ -83,8 +95,7 @@ class CloudLogging {
83
95
log . message = log . message ?? log . msg
84
96
delete log . msg
85
97
86
- const entry = this . _log . entry ( meta , log )
87
- this . _log . write ( entry )
98
+ this . _log . write ( this . _log . entry ( meta , log ) )
88
99
}
89
100
}
90
101
0 commit comments