azify-logger 1.0.49 → 1.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/register.d.ts +19 -0
- package/store.d.ts +2 -0
- package/store.js +61 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "azify-logger",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.50",
|
|
4
4
|
"description": "Azify Logger Client - Centralized logging for OpenSearch",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
"index.d.ts",
|
|
95
95
|
"init.js",
|
|
96
96
|
"register.js",
|
|
97
|
+
"register.d.ts",
|
|
97
98
|
"store.js",
|
|
98
99
|
"store.d.ts",
|
|
99
100
|
"register-otel.js",
|
package/register.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Logger } from 'bunyan';
|
|
2
|
+
|
|
3
|
+
export interface RegisterOptions {
|
|
4
|
+
loggerUrl?: string;
|
|
5
|
+
serviceName?: string;
|
|
6
|
+
environment?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Registers azify-logger with Bunyan
|
|
11
|
+
* @param logger - Bunyan logger instance
|
|
12
|
+
* @param options - Configuration options
|
|
13
|
+
* @example
|
|
14
|
+
* const register = require('azify-logger/register');
|
|
15
|
+
* register(myLogger, { loggerUrl: 'http://localhost:3001' });
|
|
16
|
+
*/
|
|
17
|
+
declare function register(logger: Logger, options?: RegisterOptions): void;
|
|
18
|
+
|
|
19
|
+
export = register;
|
package/store.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export function captureOriginTraceMeta(): {
|
|
|
25
25
|
originRequestId?: string
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
export function mergeOriginTraceIntoStructuredLog<T>(payload: T): T
|
|
29
|
+
|
|
28
30
|
export function addCurrentTraceToBullJobPayload<T>(data: T): T
|
|
29
31
|
|
|
30
32
|
export function traceAttachmentForBullJob(): Record<string, unknown>
|
package/store.js
CHANGED
|
@@ -82,6 +82,36 @@ function captureOriginTraceMeta() {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
function isPlainObjectForLog(v) {
|
|
86
|
+
return v != null && typeof v === 'object' && !Array.isArray(v)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function mergeOriginTraceIntoStructuredLog(payload) {
|
|
90
|
+
if (!isPlainObjectForLog(payload)) {
|
|
91
|
+
return payload
|
|
92
|
+
}
|
|
93
|
+
const origin = captureOriginTraceMeta()
|
|
94
|
+
const meta = payload.meta
|
|
95
|
+
if (isPlainObjectForLog(meta)) {
|
|
96
|
+
const mergedMeta = { ...meta }
|
|
97
|
+
if (origin.originTraceId != null && mergedMeta.originTraceId === undefined) {
|
|
98
|
+
mergedMeta.originTraceId = origin.originTraceId
|
|
99
|
+
}
|
|
100
|
+
if (origin.originRequestId != null && mergedMeta.originRequestId === undefined) {
|
|
101
|
+
mergedMeta.originRequestId = origin.originRequestId
|
|
102
|
+
}
|
|
103
|
+
return { ...payload, meta: mergedMeta }
|
|
104
|
+
}
|
|
105
|
+
const out = { ...payload }
|
|
106
|
+
if (origin.originTraceId != null && out.originTraceId === undefined) {
|
|
107
|
+
out.originTraceId = origin.originTraceId
|
|
108
|
+
}
|
|
109
|
+
if (origin.originRequestId != null && out.originRequestId === undefined) {
|
|
110
|
+
out.originRequestId = origin.originRequestId
|
|
111
|
+
}
|
|
112
|
+
return out
|
|
113
|
+
}
|
|
114
|
+
|
|
85
115
|
function mergeTraceIntoJobPayload(data, traceContext) {
|
|
86
116
|
if (!traceContext || !traceContext.traceId) return data
|
|
87
117
|
const base = data && typeof data === 'object' && !Array.isArray(data) ? data : {}
|
|
@@ -147,16 +177,42 @@ function attachTraceToBullJobData(data, traceRecord) {
|
|
|
147
177
|
}
|
|
148
178
|
}
|
|
149
179
|
|
|
180
|
+
function mergeOriginTraceMetaIntoJobPayload(data) {
|
|
181
|
+
if (!data || typeof data !== 'object' || Array.isArray(data)) {
|
|
182
|
+
return data
|
|
183
|
+
}
|
|
184
|
+
const origin = captureOriginTraceMeta()
|
|
185
|
+
const hasOriginToApply =
|
|
186
|
+
(origin.originTraceId != null && data.originTraceId === undefined) ||
|
|
187
|
+
(origin.originRequestId != null && data.originRequestId === undefined)
|
|
188
|
+
if (!hasOriginToApply) {
|
|
189
|
+
return data
|
|
190
|
+
}
|
|
191
|
+
const base = { ...data }
|
|
192
|
+
if (origin.originTraceId != null && base.originTraceId === undefined) {
|
|
193
|
+
base.originTraceId = origin.originTraceId
|
|
194
|
+
}
|
|
195
|
+
if (origin.originRequestId != null && base.originRequestId === undefined) {
|
|
196
|
+
base.originRequestId = origin.originRequestId
|
|
197
|
+
}
|
|
198
|
+
return base
|
|
199
|
+
}
|
|
200
|
+
|
|
150
201
|
function addCurrentTraceToBullJobPayload(data) {
|
|
202
|
+
const withOrigin = mergeOriginTraceMetaIntoJobPayload(data)
|
|
151
203
|
const trace = captureTraceForJobEnqueue()
|
|
152
|
-
if (!trace) return
|
|
153
|
-
return attachTraceToBullJobData(
|
|
204
|
+
if (!trace) return withOrigin
|
|
205
|
+
return attachTraceToBullJobData(withOrigin, trace)
|
|
154
206
|
}
|
|
155
207
|
|
|
156
208
|
function traceAttachmentForBullJob() {
|
|
157
209
|
const trace = captureTraceForJobEnqueue()
|
|
158
|
-
|
|
159
|
-
|
|
210
|
+
const origin = captureOriginTraceMeta()
|
|
211
|
+
const out = { ...origin }
|
|
212
|
+
if (trace) {
|
|
213
|
+
out[AZIFY_JOB_TRACE_FIELD] = trace
|
|
214
|
+
}
|
|
215
|
+
return out
|
|
160
216
|
}
|
|
161
217
|
|
|
162
218
|
function prepareBullJobTraceContext(data) {
|
|
@@ -220,6 +276,7 @@ module.exports = {
|
|
|
220
276
|
addCurrentTraceToBullJobPayload,
|
|
221
277
|
traceAttachmentForBullJob,
|
|
222
278
|
captureOriginTraceMeta,
|
|
279
|
+
mergeOriginTraceIntoStructuredLog,
|
|
223
280
|
toTraceIdHex
|
|
224
281
|
}
|
|
225
282
|
|