@rife/logger 0.0.5-beta.30 → 0.0.5-beta.32
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/dist/pino.js +3 -9
- package/dist/pino.js.map +1 -1
- package/dist/test.js +2 -19
- package/dist/test.js.map +1 -1
- package/dist/trace.js +6 -7
- package/dist/trace.js.map +1 -1
- package/package.json +2 -3
- package/src/pino.ts +5 -11
- package/src/test.ts +2 -9
- package/src/trace.ts +6 -7
package/dist/pino.js
CHANGED
|
@@ -21,7 +21,6 @@ function getPinoConfig() {
|
|
|
21
21
|
options: { path: './.logs/' },
|
|
22
22
|
});
|
|
23
23
|
const config = {
|
|
24
|
-
// base: { pid: undefined, hostname: undefined },
|
|
25
24
|
transport: { targets },
|
|
26
25
|
mixin(data) {
|
|
27
26
|
if (!data?.traceId) {
|
|
@@ -42,10 +41,7 @@ function createLogger(options) {
|
|
|
42
41
|
return (req, res, next) => {
|
|
43
42
|
const response = res;
|
|
44
43
|
response[startTime] = response[startTime] || Date.now();
|
|
45
|
-
const traceId = req.headers['trace-id'];
|
|
46
|
-
if (traceId) {
|
|
47
|
-
(0, trace_1.setTraceId)(traceId);
|
|
48
|
-
}
|
|
44
|
+
const traceId = req.headers['trace-id'] || (0, trace_1.genTraceId)();
|
|
49
45
|
const onComplete = () => {
|
|
50
46
|
res.removeListener('close', onComplete);
|
|
51
47
|
res.removeListener('finish', onComplete);
|
|
@@ -56,11 +52,9 @@ function createLogger(options) {
|
|
|
56
52
|
res.on('close', onComplete);
|
|
57
53
|
res.on('finish', onComplete);
|
|
58
54
|
res.on('error', onComplete);
|
|
59
|
-
(0, trace_1.runInTrace)(next);
|
|
55
|
+
(0, trace_1.runInTrace)({ traceId }, next);
|
|
60
56
|
};
|
|
61
57
|
};
|
|
62
|
-
|
|
63
|
-
instance.express = express;
|
|
64
|
-
return instance;
|
|
58
|
+
return { logger, express };
|
|
65
59
|
}
|
|
66
60
|
//# sourceMappingURL=pino.js.map
|
package/dist/pino.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../src/pino.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pino.js","sourceRoot":"","sources":["../src/pino.ts"],"names":[],"mappings":";;AAkDA,oCA+BC;;AAjFD,wDAAwB;AACxB,yDAAyD;AAEzD,+BAA8B;AAC9B,mCAA6D;AAc7D,SAAS,aAAa;IAClB,MAAM,OAAO,GAAQ,EAAE,CAAC;IAExB,IAAI,IAAA,WAAK,GAAE,EAAE,CAAC;QACV,OAAO,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,aAAa,EAAE,gCAAgC;YACvD,OAAO,EAAE,EAAE;SACd,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;KAChC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAuB;QAC/B,SAAS,EAAE,EAAE,OAAO,EAAE;QACtB,KAAK,CAAC,IAAS;YACX,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;gBACjB,OAAO,EAAE,OAAO,EAAE,IAAA,kBAAU,GAAE,EAAE,CAAC;YACrC,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;KACJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEtC,SAAgB,YAAY,CAAC,OAAyB;IAClD,MAAM,MAAM,GAAG,IAAA,cAAI,EAAC;QAChB,GAAG,aAAa,EAAE;KACrB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAG,EAAE;QACjB,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAA0C,CAAC;QAErH,OAAO,CAAC,GAAQ,EAAE,GAAQ,EAAE,IAAS,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAQ,GAAG,CAAC;YAC1B,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAA,kBAAU,GAAE,CAAC;YAExD,MAAM,UAAU,GAAG,GAAG,EAAE;gBACpB,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACzC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAElD,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;YAC/G,CAAC,CAAC;YAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAE5B,IAAA,kBAAU,EAAC,EAAE,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/test.js
CHANGED
|
@@ -3,23 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
process.env.NODE_ENV = 'development';
|
|
4
4
|
// process.env.NODE_ENV = 'production';
|
|
5
5
|
process.env.NODE_ENV = 'development';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// const deep = { a: { b: { c: { g: { e: { f: 1 } } } } } };
|
|
9
|
-
// logger.info('1 %s', { a: 1 });
|
|
10
|
-
// logger.info('2 %j', deep);
|
|
11
|
-
// logger.info('3 \n%j', deep);
|
|
12
|
-
// logger.info('4 %s %s', 1, 2);
|
|
13
|
-
// logger.info('5 %o', deep);
|
|
14
|
-
// logger.info(deep);
|
|
15
|
-
// logger.warn('execed');
|
|
16
|
-
// logger.error(new Error('not found'));
|
|
17
|
-
const pino_1 = require("./pino");
|
|
18
|
-
const logger = (0, pino_1.createLogger)();
|
|
19
|
-
const obj = {
|
|
20
|
-
i: 1,
|
|
21
|
-
};
|
|
22
|
-
setInterval(() => {
|
|
23
|
-
logger.warn(`${obj.i++}`);
|
|
24
|
-
}, 1000);
|
|
6
|
+
const trace_1 = require("./trace");
|
|
7
|
+
console.log((0, trace_1.genTraceId)());
|
|
25
8
|
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;AACrC,uCAAuC;AACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;AAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;AACrC,uCAAuC;AACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;AAiBrC,mCAAqC;AAErC,OAAO,CAAC,GAAG,CAAC,IAAA,kBAAU,GAAE,CAAC,CAAC"}
|
package/dist/trace.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runInTrace = runInTrace;
|
|
4
|
+
exports.genTraceId = genTraceId;
|
|
4
5
|
exports.getTraceId = getTraceId;
|
|
5
|
-
exports.setTraceId = setTraceId;
|
|
6
6
|
const async_hooks_1 = require("async_hooks");
|
|
7
7
|
const als = new async_hooks_1.AsyncLocalStorage();
|
|
8
|
-
function runInTrace(fn) {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
function runInTrace(data, fn) {
|
|
9
|
+
return als.run(data, fn);
|
|
10
|
+
}
|
|
11
|
+
function genTraceId() {
|
|
12
|
+
return crypto.randomUUID();
|
|
11
13
|
}
|
|
12
14
|
function getTraceId() {
|
|
13
15
|
return als.getStore()?.traceId;
|
|
14
16
|
}
|
|
15
|
-
function setTraceId(traceId) {
|
|
16
|
-
return als.enterWith({ traceId });
|
|
17
|
-
}
|
|
18
17
|
//# sourceMappingURL=trace.js.map
|
package/dist/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":";;AAIA,gCAEC;AAED,gCAEC;AAED,gCAEC;AAdD,6CAAgD;AAEhD,MAAM,GAAG,GAAG,IAAI,+BAAiB,EAA6B,CAAC;AAE/D,SAAgB,UAAU,CAAI,IAAS,EAAE,EAAyB;IAC9D,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,UAAU;IACtB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,SAAgB,UAAU;IACtB,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC;AACnC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rife/logger",
|
|
3
|
-
"version": "0.0.5-beta.
|
|
3
|
+
"version": "0.0.5-beta.32",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -33,10 +33,9 @@
|
|
|
33
33
|
"pino-std-serializers": "^6.2.2",
|
|
34
34
|
"rotating-file-stream": "^3.2.1",
|
|
35
35
|
"safe-stable-stringify": "^2.4.3",
|
|
36
|
-
"uuid": "^9.0.1",
|
|
37
36
|
"winston": "^3.9.0",
|
|
38
37
|
"winston-daily-rotate-file": "^4.7.1",
|
|
39
|
-
"@rife/config": "0.0.5-beta.
|
|
38
|
+
"@rife/config": "0.0.5-beta.32"
|
|
40
39
|
},
|
|
41
40
|
"scripts": {
|
|
42
41
|
"dev": "infra dev",
|
package/src/pino.ts
CHANGED
|
@@ -2,7 +2,7 @@ import pino from 'pino';
|
|
|
2
2
|
// https://github.com/pinojs/pino/blob/master/docs/api.md
|
|
3
3
|
|
|
4
4
|
import { isDev } from './env';
|
|
5
|
-
import { getTraceId, runInTrace
|
|
5
|
+
import { genTraceId, getTraceId, runInTrace } from './trace';
|
|
6
6
|
|
|
7
7
|
export interface ILogger {
|
|
8
8
|
debug: pino.LogFn;
|
|
@@ -34,7 +34,6 @@ function getPinoConfig() {
|
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
const config: pino.LoggerOptions = {
|
|
37
|
-
// base: { pid: undefined, hostname: undefined },
|
|
38
37
|
transport: { targets },
|
|
39
38
|
mixin(data: any) {
|
|
40
39
|
if (!data?.traceId) {
|
|
@@ -60,10 +59,8 @@ export function createLogger(options?: ILogger.Options) {
|
|
|
60
59
|
return (req: any, res: any, next: any) => {
|
|
61
60
|
const response: any = res;
|
|
62
61
|
response[startTime] = response[startTime] || Date.now();
|
|
63
|
-
const traceId = req.headers['trace-id'];
|
|
64
|
-
|
|
65
|
-
setTraceId(traceId);
|
|
66
|
-
}
|
|
62
|
+
const traceId = req.headers['trace-id'] || genTraceId();
|
|
63
|
+
|
|
67
64
|
const onComplete = () => {
|
|
68
65
|
res.removeListener('close', onComplete);
|
|
69
66
|
res.removeListener('finish', onComplete);
|
|
@@ -77,12 +74,9 @@ export function createLogger(options?: ILogger.Options) {
|
|
|
77
74
|
res.on('finish', onComplete);
|
|
78
75
|
res.on('error', onComplete);
|
|
79
76
|
|
|
80
|
-
runInTrace(next);
|
|
77
|
+
runInTrace({ traceId }, next);
|
|
81
78
|
};
|
|
82
79
|
};
|
|
83
|
-
const instance = logger as typeof logger & { express: typeof express };
|
|
84
|
-
|
|
85
|
-
instance.express = express;
|
|
86
80
|
|
|
87
|
-
return
|
|
81
|
+
return { logger, express };
|
|
88
82
|
}
|
package/src/test.ts
CHANGED
|
@@ -17,13 +17,6 @@ process.env.NODE_ENV = 'development';
|
|
|
17
17
|
// logger.error(new Error('not found'));
|
|
18
18
|
|
|
19
19
|
import { createLogger } from './pino';
|
|
20
|
-
import {
|
|
20
|
+
import { genTraceId } from './trace';
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const obj = {
|
|
25
|
-
i: 1,
|
|
26
|
-
};
|
|
27
|
-
setInterval(() => {
|
|
28
|
-
logger.warn(`${obj.i++}`);
|
|
29
|
-
}, 1000);
|
|
22
|
+
console.log(genTraceId());
|
package/src/trace.ts
CHANGED
|
@@ -2,15 +2,14 @@ import { AsyncLocalStorage } from 'async_hooks';
|
|
|
2
2
|
|
|
3
3
|
const als = new AsyncLocalStorage<{ traceId: string } & any>();
|
|
4
4
|
|
|
5
|
-
export function runInTrace<T>(fn: (...args: any[]) => T): T {
|
|
6
|
-
|
|
7
|
-
return als.run({ traceId: v4() }, fn);
|
|
5
|
+
export function runInTrace<T>(data: any, fn: (...args: any[]) => T): T {
|
|
6
|
+
return als.run(data, fn);
|
|
8
7
|
}
|
|
9
8
|
|
|
10
|
-
export function
|
|
11
|
-
return
|
|
9
|
+
export function genTraceId() {
|
|
10
|
+
return crypto.randomUUID();
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
export function
|
|
15
|
-
return als.
|
|
13
|
+
export function getTraceId() {
|
|
14
|
+
return als.getStore()?.traceId;
|
|
16
15
|
}
|