logixia 2.0.11 → 2.1.0
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/README.md +2 -1
- package/dist/{async-context-D8um9I5V.js → async-context-Dgl3ZLyb.js} +3 -3
- package/dist/{async-context-D8um9I5V.js.map → async-context-Dgl3ZLyb.js.map} +1 -1
- package/dist/{async-context-BGUCdYAa.mjs → async-context-fBqC5lNc.mjs} +2 -2
- package/dist/{async-context-BGUCdYAa.mjs.map → async-context-fBqC5lNc.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-CbSHOnNX.d.mts → azure-monitor.transport-C5VjvREZ.d.mts} +2 -2
- package/dist/{azure-monitor.transport-CbSHOnNX.d.mts.map → azure-monitor.transport-C5VjvREZ.d.mts.map} +1 -1
- package/dist/{azure-monitor.transport-Bvf7Xegt.d.ts → azure-monitor.transport-CyHDjHS-.d.ts} +2 -2
- package/dist/{azure-monitor.transport-Bvf7Xegt.d.ts.map → azure-monitor.transport-CyHDjHS-.d.ts.map} +1 -1
- package/dist/{azure-monitor.transport-CTnfwA0F.mjs → azure-monitor.transport-DGiacfvT.mjs} +4 -4
- package/dist/{azure-monitor.transport-CTnfwA0F.mjs.map → azure-monitor.transport-DGiacfvT.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-C8KdmsSw.js → azure-monitor.transport-DX3fuK2t.js} +4 -4
- package/dist/{azure-monitor.transport-C8KdmsSw.js.map → azure-monitor.transport-DX3fuK2t.js.map} +1 -1
- package/dist/azure.d.mts +1 -1
- package/dist/azure.d.ts +1 -1
- package/dist/azure.js +1 -1
- package/dist/azure.mjs +1 -1
- package/dist/{batch-buffer-BTQdAXwC.js → batch-buffer-BLmVvJAZ.js} +2 -2
- package/dist/{batch-buffer-BTQdAXwC.js.map → batch-buffer-BLmVvJAZ.js.map} +1 -1
- package/dist/{batch-buffer-BJqzpfpT.mjs → batch-buffer-CM-lK_Qy.mjs} +2 -2
- package/dist/{batch-buffer-BJqzpfpT.mjs.map → batch-buffer-CM-lK_Qy.mjs.map} +1 -1
- package/dist/browser.d.mts +2 -0
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.d.ts +2 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +18 -4
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +18 -4
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-C6kKEVrU.mjs → builder-CA_dokb4.mjs} +108 -61
- package/dist/builder-CA_dokb4.mjs.map +1 -0
- package/dist/{builder-Up4YxX7l.js → builder-jMlVYaQa.js} +114 -67
- package/dist/builder-jMlVYaQa.js.map +1 -0
- package/dist/cloudwatch.d.mts +1 -1
- package/dist/cloudwatch.d.ts +1 -1
- package/dist/cloudwatch.js +1 -1
- package/dist/cloudwatch.mjs +1 -1
- package/dist/{cloudwatch.transport-Bl1qzdBx.mjs → cloudwatch.transport-Cr0fEpko.mjs} +5 -5
- package/dist/{cloudwatch.transport-Bl1qzdBx.mjs.map → cloudwatch.transport-Cr0fEpko.mjs.map} +1 -1
- package/dist/{cloudwatch.transport-CQyT6U91.d.ts → cloudwatch.transport-DdSjUWvu.d.ts} +2 -2
- package/dist/{cloudwatch.transport-CQyT6U91.d.ts.map → cloudwatch.transport-DdSjUWvu.d.ts.map} +1 -1
- package/dist/{cloudwatch.transport-BoCyxNKO.js → cloudwatch.transport-Lst1Bbmr.js} +5 -5
- package/dist/{cloudwatch.transport-BoCyxNKO.js.map → cloudwatch.transport-Lst1Bbmr.js.map} +1 -1
- package/dist/{cloudwatch.transport-CjVrI6S4.d.mts → cloudwatch.transport-_hS7Mcc5.d.mts} +2 -2
- package/dist/{cloudwatch.transport-CjVrI6S4.d.mts.map → cloudwatch.transport-_hS7Mcc5.d.mts.map} +1 -1
- package/dist/correlation.js +2 -2
- package/dist/correlation.mjs +2 -2
- package/dist/{entry-fields-CJbeaoBs.js → entry-fields-BSLkzw18.js} +3 -3
- package/dist/{entry-fields-CJbeaoBs.js.map → entry-fields-BSLkzw18.js.map} +1 -1
- package/dist/{entry-fields-D_aNnjg0.mjs → entry-fields-J1OBi24o.mjs} +2 -2
- package/dist/{entry-fields-D_aNnjg0.mjs.map → entry-fields-J1OBi24o.mjs.map} +1 -1
- package/dist/gcp.d.mts +1 -1
- package/dist/gcp.d.ts +1 -1
- package/dist/gcp.js +1 -1
- package/dist/gcp.mjs +1 -1
- package/dist/{gcp.transport-D_NHVZrw.js → gcp.transport-5-ZIjN8r.js} +5 -5
- package/dist/{gcp.transport-D_NHVZrw.js.map → gcp.transport-5-ZIjN8r.js.map} +1 -1
- package/dist/{gcp.transport-D9SdLPwP.d.mts → gcp.transport-C8VJiEM7.d.mts} +2 -2
- package/dist/{gcp.transport-D9SdLPwP.d.mts.map → gcp.transport-C8VJiEM7.d.mts.map} +1 -1
- package/dist/{gcp.transport-BCIvdFV-.d.ts → gcp.transport-Ct0BtKFo.d.ts} +2 -2
- package/dist/{gcp.transport-BCIvdFV-.d.ts.map → gcp.transport-Ct0BtKFo.d.ts.map} +1 -1
- package/dist/{gcp.transport-DOH4bpWM.mjs → gcp.transport-Cw3Qke85.mjs} +5 -5
- package/dist/{gcp.transport-DOH4bpWM.mjs.map → gcp.transport-Cw3Qke85.mjs.map} +1 -1
- package/dist/{index-BAkPHp5D.d.mts → index-B3ajtXJd.d.mts} +2 -2
- package/dist/{index-BAkPHp5D.d.mts.map → index-B3ajtXJd.d.mts.map} +1 -1
- package/dist/{index-e7LowmAu.d.ts → index-oqD3WNxf.d.ts} +2 -2
- package/dist/{index-e7LowmAu.d.ts.map → index-oqD3WNxf.d.ts.map} +1 -1
- package/dist/index.d.mts +8 -7
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -8
- package/dist/index.mjs.map +1 -1
- package/dist/{logitron-logger-DVUdgmBY.d.ts → logitron-logger-Csn3e6Qu.d.ts} +2 -2
- package/dist/{logitron-logger-DVUdgmBY.d.ts.map → logitron-logger-Csn3e6Qu.d.ts.map} +1 -1
- package/dist/{logitron-logger-DoWmMjYB.d.mts → logitron-logger-fMOkXr8H.d.mts} +2 -2
- package/dist/{logitron-logger-DoWmMjYB.d.mts.map → logitron-logger-fMOkXr8H.d.mts.map} +1 -1
- package/dist/middleware.d.mts +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +5 -4
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +3 -2
- package/dist/middleware.mjs.map +1 -1
- package/dist/nest.d.mts +47 -15
- package/dist/nest.d.mts.map +1 -1
- package/dist/nest.d.ts +47 -15
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js +169 -48
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +166 -45
- package/dist/nest.mjs.map +1 -1
- package/dist/{otel-DH6-G6DR.js → otel-8ypFGG19.js} +319 -66
- package/dist/otel-8ypFGG19.js.map +1 -0
- package/dist/{otel-DAVxpArV.mjs → otel-b-s2QbY4.mjs} +319 -66
- package/dist/otel-b-s2QbY4.mjs.map +1 -0
- package/dist/own-property-BWkibepN.js +40 -0
- package/dist/own-property-BWkibepN.js.map +1 -0
- package/dist/own-property-CjFw9qwZ.mjs +29 -0
- package/dist/own-property-CjFw9qwZ.mjs.map +1 -0
- package/dist/{safe-stringify-pZOnzGRJ.mjs → safe-stringify-B5p5ktFe.mjs} +2 -2
- package/dist/{safe-stringify-pZOnzGRJ.mjs.map → safe-stringify-B5p5ktFe.mjs.map} +1 -1
- package/dist/{safe-stringify-CJisLyZ3.js → safe-stringify-J3sh-7YM.js} +5 -5
- package/dist/{safe-stringify-CJisLyZ3.js.map → safe-stringify-J3sh-7YM.js.map} +1 -1
- package/dist/{search-Crf2IEoA.d.mts → search-B-hJe2N-.d.mts} +7 -3
- package/dist/{search-Crf2IEoA.d.mts.map → search-B-hJe2N-.d.mts.map} +1 -1
- package/dist/{search-B4eEzrhM.d.ts → search-BlKBLm5D.d.ts} +7 -3
- package/dist/{search-B4eEzrhM.d.ts.map → search-BlKBLm5D.d.ts.map} +1 -1
- package/dist/{search-CjYl-mo5.mjs → search-CTR4XNHq.mjs} +52 -14
- package/dist/search-CTR4XNHq.mjs.map +1 -0
- package/dist/{search-CJw_xoQl.js → search-_qx4YzRP.js} +52 -14
- package/dist/search-_qx4YzRP.js.map +1 -0
- package/dist/search.d.mts +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.js +1 -1
- package/dist/search.mjs +1 -1
- package/dist/{secret-config-6hdODxBb.js → secret-config--cVTOWwp.js} +6 -5
- package/dist/{secret-config-6hdODxBb.js.map → secret-config--cVTOWwp.js.map} +1 -1
- package/dist/{secret-config-D1F4MW69.mjs → secret-config-GKmb15Me.mjs} +3 -2
- package/dist/{secret-config-D1F4MW69.mjs.map → secret-config-GKmb15Me.mjs.map} +1 -1
- package/dist/{sensitive-names-wv27qBQC.mjs → sensitive-names-BiBM6R1X.mjs} +2 -28
- package/dist/sensitive-names-BiBM6R1X.mjs.map +1 -0
- package/dist/{sensitive-names-CNgHaqv9.js → sensitive-names-NiKIRhp5.js} +1 -39
- package/dist/sensitive-names-NiKIRhp5.js.map +1 -0
- package/dist/{slack.transport-C6E0l4kw.d.ts → slack.transport-5OPL7H3u.d.mts} +76 -3
- package/dist/slack.transport-5OPL7H3u.d.mts.map +1 -0
- package/dist/{slack.transport-BDyENuR0.d.mts → slack.transport-BFpBD_Ri.d.ts} +76 -3
- package/dist/slack.transport-BFpBD_Ri.d.ts.map +1 -0
- package/dist/{slack.transport-CEYBVzUj.js → slack.transport-Cpx5fKga.js} +231 -8
- package/dist/slack.transport-Cpx5fKga.js.map +1 -0
- package/dist/{slack.transport-YvaLJxNv.mjs → slack.transport-Qwj9WkrJ.mjs} +226 -9
- package/dist/slack.transport-Qwj9WkrJ.mjs.map +1 -0
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{transport.types-CzJq4IrF.d.ts → transport.types-B1ejJJP6.d.mts} +6 -1
- package/dist/transport.types-B1ejJJP6.d.mts.map +1 -0
- package/dist/{transport.types-CzJq4IrF.d.mts → transport.types-B1ejJJP6.d.ts} +6 -1
- package/dist/transport.types-B1ejJJP6.d.ts.map +1 -0
- package/dist/transports.d.mts +61 -11
- package/dist/transports.d.mts.map +1 -1
- package/dist/transports.d.ts +61 -11
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +7 -6
- package/dist/transports.mjs +7 -7
- package/dist/worker-entry.js +91 -11
- package/dist/worker.d.mts +1 -1
- package/dist/worker.d.ts +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.mjs +1 -1
- package/dist/{worker.transport-B9mCQSM1.d.ts → worker.transport-B7olL1Uh.d.ts} +12 -2
- package/dist/worker.transport-B7olL1Uh.d.ts.map +1 -0
- package/dist/{worker.transport-DgK_ZXlB.mjs → worker.transport-BHnWDXPH.mjs} +40 -2
- package/dist/worker.transport-BHnWDXPH.mjs.map +1 -0
- package/dist/{worker.transport-CwNpH98o.js → worker.transport-C7jNGhev.js} +40 -2
- package/dist/worker.transport-C7jNGhev.js.map +1 -0
- package/dist/{worker.transport-Bl8lFRck.d.mts → worker.transport-DnU0_9Bd.d.mts} +12 -2
- package/dist/worker.transport-DnU0_9Bd.d.mts.map +1 -0
- package/package.json +1 -1
- package/dist/builder-C6kKEVrU.mjs.map +0 -1
- package/dist/builder-Up4YxX7l.js.map +0 -1
- package/dist/otel-DAVxpArV.mjs.map +0 -1
- package/dist/otel-DH6-G6DR.js.map +0 -1
- package/dist/search-CJw_xoQl.js.map +0 -1
- package/dist/search-CjYl-mo5.mjs.map +0 -1
- package/dist/sensitive-names-CNgHaqv9.js.map +0 -1
- package/dist/sensitive-names-wv27qBQC.mjs.map +0 -1
- package/dist/slack.transport-BDyENuR0.d.mts.map +0 -1
- package/dist/slack.transport-C6E0l4kw.d.ts.map +0 -1
- package/dist/slack.transport-CEYBVzUj.js.map +0 -1
- package/dist/slack.transport-YvaLJxNv.mjs.map +0 -1
- package/dist/transport.types-CzJq4IrF.d.mts.map +0 -1
- package/dist/transport.types-CzJq4IrF.d.ts.map +0 -1
- package/dist/worker.transport-B9mCQSM1.d.ts.map +0 -1
- package/dist/worker.transport-Bl8lFRck.d.mts.map +0 -1
- package/dist/worker.transport-CwNpH98o.js.map +0 -1
- package/dist/worker.transport-DgK_ZXlB.mjs.map +0 -1
package/dist/nest.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { S as DEFAULT_CONFIG, T as LogLevel, _ as serializeError, a as isLogixiaException, o as LogixiaLogger, t as ErrorResponseBuilder } from "./builder-
|
|
2
|
-
import {
|
|
1
|
+
import { S as DEFAULT_CONFIG, T as LogLevel, _ as serializeError, a as isLogixiaException, o as LogixiaLogger, t as ErrorResponseBuilder } from "./builder-CA_dokb4.mjs";
|
|
2
|
+
import { t as assignOwn } from "./own-property-CjFw9qwZ.mjs";
|
|
3
3
|
import { d as getTraceContextKey, l as extractTraceId, o as TraceContext, p as sanitizeIncomingId, r as DEFAULT_TRACE_HEADERS } from "./request-trace-Dekcnenb.mjs";
|
|
4
|
-
import { n as
|
|
4
|
+
import { a as buildNameSet, c as sanitizeText, l as sensitiveQueryValues, n as DEFAULT_REDACT_QUERY_PARAMS, o as redactUrlQuery } from "./sensitive-names-BiBM6R1X.mjs";
|
|
5
|
+
import { n as protectSecrets } from "./secret-config-GKmb15Me.mjs";
|
|
5
6
|
import { r as internalWarn, t as internalError } from "./internal-log-Cy5nF1ZL.mjs";
|
|
6
7
|
import { n as safeToString } from "./csv.utils-ZdxSod5g.mjs";
|
|
7
8
|
import { Catch, Inject, Injectable, Module, Optional, RequestMethod, Scope } from "@nestjs/common";
|
|
@@ -19,12 +20,37 @@ function __decorate(decorators, target, key, desc) {
|
|
|
19
20
|
}
|
|
20
21
|
// src/core/logitron-nestjs.service.ts
|
|
21
22
|
var _LogixiaLoggerService;
|
|
23
|
+
const looksLikeStack = (value) => value.includes("\n at ");
|
|
24
|
+
const NEST_LEVEL_TO_LOGIXIA = {
|
|
25
|
+
fatal: LogLevel.ERROR,
|
|
26
|
+
error: LogLevel.ERROR,
|
|
27
|
+
warn: LogLevel.WARN,
|
|
28
|
+
log: LogLevel.INFO,
|
|
29
|
+
debug: LogLevel.DEBUG,
|
|
30
|
+
verbose: LogLevel.TRACE
|
|
31
|
+
};
|
|
32
|
+
const LEVEL_VERBOSITY = [
|
|
33
|
+
LogLevel.ERROR,
|
|
34
|
+
LogLevel.WARN,
|
|
35
|
+
LogLevel.INFO,
|
|
36
|
+
LogLevel.DEBUG,
|
|
37
|
+
LogLevel.TRACE
|
|
38
|
+
];
|
|
39
|
+
function isPlainObject(value) {
|
|
40
|
+
if (typeof value !== "object" || value === null) return false;
|
|
41
|
+
const proto = Object.getPrototypeOf(value);
|
|
42
|
+
return proto === Object.prototype || proto === null;
|
|
43
|
+
}
|
|
44
|
+
function describeObject(value) {
|
|
45
|
+
var _value$constructor;
|
|
46
|
+
return Array.isArray(value) ? safeToString(value) : `[${((_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name) ?? "Object"}]`;
|
|
47
|
+
}
|
|
22
48
|
let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
23
49
|
logger;
|
|
24
50
|
context;
|
|
25
51
|
_mergedConfig;
|
|
26
52
|
constructor(config) {
|
|
27
|
-
const
|
|
53
|
+
const mergedConfig = {
|
|
28
54
|
appName: "NestJS-App",
|
|
29
55
|
environment: "development",
|
|
30
56
|
traceId: true,
|
|
@@ -59,37 +85,40 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
59
85
|
message: "[message]",
|
|
60
86
|
payload: "[payload]",
|
|
61
87
|
timeTaken: "[time_taken_MS]"
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
protectSecrets(this, ["_mergedConfig"]);
|
|
65
|
-
this._mergedConfig = {
|
|
66
|
-
...defaultConfig,
|
|
88
|
+
},
|
|
67
89
|
...config
|
|
68
90
|
};
|
|
69
|
-
this.
|
|
91
|
+
this._attach(mergedConfig, new LogixiaLogger(mergedConfig));
|
|
92
|
+
}
|
|
93
|
+
_attach(mergedConfig, logger) {
|
|
94
|
+
protectSecrets(this, ["_mergedConfig"]);
|
|
95
|
+
this._mergedConfig = mergedConfig;
|
|
96
|
+
this.logger = logger;
|
|
70
97
|
this._createCustomLevelMethods();
|
|
71
98
|
}
|
|
72
99
|
_createCustomLevelMethods() {
|
|
73
100
|
var _this$_mergedConfig$l;
|
|
74
101
|
const levels = (_this$_mergedConfig$l = this._mergedConfig.levelOptions) === null || _this$_mergedConfig$l === void 0 ? void 0 : _this$_mergedConfig$l.levels;
|
|
75
102
|
if (!levels) return;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (typeof
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
103
|
+
const self = this;
|
|
104
|
+
const define = (method, levelName) => {
|
|
105
|
+
if (typeof self[method] !== "undefined") return;
|
|
106
|
+
self[method] = async (message, data) => this.logger.logLevel(levelName, message, data);
|
|
107
|
+
};
|
|
108
|
+
const names = Object.keys(levels);
|
|
109
|
+
for (const levelName of names) define(levelName, levelName);
|
|
110
|
+
for (const levelName of names) define(levelName.toLowerCase(), levelName);
|
|
83
111
|
}
|
|
84
112
|
/**
|
|
85
|
-
* NestJS `LoggerService.log` — void
|
|
86
|
-
*
|
|
113
|
+
* NestJS `LoggerService.log` — void. Maps internally to `info`.
|
|
114
|
+
* A trailing string is the context for this call only; object params are merged into the payload.
|
|
87
115
|
*
|
|
88
116
|
* @example `logger.log('User signed up', 'AuthService')`
|
|
117
|
+
* @example `logger.log('User signed up', { userId: 'u_abc' }, 'AuthService')`
|
|
89
118
|
*/
|
|
90
|
-
log(message,
|
|
91
|
-
this.
|
|
92
|
-
this.
|
|
119
|
+
log(message, ...optionalParams) {
|
|
120
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
121
|
+
this.reportFailure("log", this.withContext(context, () => this.logger.info(this.formatMessage(message), data)));
|
|
93
122
|
}
|
|
94
123
|
/**
|
|
95
124
|
* Native async `info` — structured data, returns `Promise<void>`.
|
|
@@ -99,27 +128,49 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
99
128
|
async info(message, data) {
|
|
100
129
|
return this.logger.info(message, data);
|
|
101
130
|
}
|
|
102
|
-
error(message,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
131
|
+
error(message, ...optionalParams) {
|
|
132
|
+
const only = optionalParams[0];
|
|
133
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) {
|
|
134
|
+
const data = only;
|
|
135
|
+
return message instanceof Error ? this.logger.error(message, data) : this.logger.error(this.formatMessage(message), data);
|
|
136
|
+
}
|
|
137
|
+
const { context, data } = this.parseParams(optionalParams, true);
|
|
138
|
+
this.reportFailure("error", this.withContext(context, () => message instanceof Error ? this.logger.error(message, data) : this.logger.error(this.formatMessage(message), data)));
|
|
108
139
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
140
|
+
/**
|
|
141
|
+
* NestJS `LoggerService.fatal`. logixia has no level above `error`, so this logs
|
|
142
|
+
* at `error` with `fatal: true` in the payload, or at a custom `fatal` level when
|
|
143
|
+
* one is configured.
|
|
144
|
+
*
|
|
145
|
+
* @example `logger.fatal('Cannot reach the database, shutting down', 'Bootstrap')`
|
|
146
|
+
*/
|
|
147
|
+
fatal(message, ...optionalParams) {
|
|
148
|
+
var _this$_mergedConfig$l2;
|
|
149
|
+
const { context, data } = this.parseParams(optionalParams, true);
|
|
150
|
+
const text = this.formatMessage(message);
|
|
151
|
+
const hasFatalLevel = ((_this$_mergedConfig$l2 = this._mergedConfig.levelOptions) === null || _this$_mergedConfig$l2 === void 0 || (_this$_mergedConfig$l2 = _this$_mergedConfig$l2.levels) === null || _this$_mergedConfig$l2 === void 0 ? void 0 : _this$_mergedConfig$l2["fatal"]) !== void 0;
|
|
152
|
+
this.reportFailure("fatal", this.withContext(context, () => hasFatalLevel ? this.logger.logLevel("fatal", text, data) : this.logger.error(text, {
|
|
153
|
+
...data,
|
|
154
|
+
fatal: true
|
|
155
|
+
})));
|
|
113
156
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
157
|
+
warn(message, ...optionalParams) {
|
|
158
|
+
const only = optionalParams[0];
|
|
159
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.warn(this.formatMessage(message), only);
|
|
160
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
161
|
+
this.reportFailure("warn", this.withContext(context, () => this.logger.warn(this.formatMessage(message), data)));
|
|
118
162
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
163
|
+
debug(message, ...optionalParams) {
|
|
164
|
+
const only = optionalParams[0];
|
|
165
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.debug(this.formatMessage(message), only);
|
|
166
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
167
|
+
this.reportFailure("debug", this.withContext(context, () => this.logger.debug(this.formatMessage(message), data)));
|
|
168
|
+
}
|
|
169
|
+
verbose(message, ...optionalParams) {
|
|
170
|
+
const only = optionalParams[0];
|
|
171
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.trace(this.formatMessage(message), only);
|
|
172
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
173
|
+
this.reportFailure("verbose", this.withContext(context, () => this.logger.trace(this.formatMessage(message), data)));
|
|
123
174
|
}
|
|
124
175
|
/**
|
|
125
176
|
* Native async `trace` — lowest verbosity level, structured data.
|
|
@@ -156,9 +207,30 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
156
207
|
getLevel() {
|
|
157
208
|
return this.logger.getLevel();
|
|
158
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* NestJS `LoggerService.setLogLevels`. logixia filters by a minimum level, not a
|
|
212
|
+
* set, so the most verbose of `levels` becomes the threshold and everything more
|
|
213
|
+
* severe stays on (`['log', 'error']` also enables `warn`). Unknown names are
|
|
214
|
+
* ignored, and an empty list is ignored too: use `silent` to turn logging off.
|
|
215
|
+
*
|
|
216
|
+
* @example `logger.setLogLevels(['error', 'warn'])`
|
|
217
|
+
*/
|
|
218
|
+
setLogLevels(levels) {
|
|
219
|
+
let threshold;
|
|
220
|
+
let verbosity = -1;
|
|
221
|
+
for (const name of levels) {
|
|
222
|
+
const level = NEST_LEVEL_TO_LOGIXIA[name];
|
|
223
|
+
const rank = level === void 0 ? -1 : LEVEL_VERBOSITY.indexOf(level);
|
|
224
|
+
if (rank > verbosity) {
|
|
225
|
+
verbosity = rank;
|
|
226
|
+
threshold = level;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
if (threshold !== void 0) this.setLevel(threshold);
|
|
230
|
+
}
|
|
159
231
|
child(context, data) {
|
|
160
|
-
const childService =
|
|
161
|
-
childService.
|
|
232
|
+
const childService = Object.create(_LogixiaLoggerService.prototype);
|
|
233
|
+
childService._attach(this._mergedConfig, this.logger.child(context, data));
|
|
162
234
|
childService.context = context;
|
|
163
235
|
return childService;
|
|
164
236
|
}
|
|
@@ -178,9 +250,58 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
178
250
|
getLogger() {
|
|
179
251
|
return this.logger;
|
|
180
252
|
}
|
|
181
|
-
|
|
182
|
-
if (
|
|
183
|
-
|
|
253
|
+
withContext(context, fn) {
|
|
254
|
+
if (context === void 0 || context === this.logger.getContext()) return fn();
|
|
255
|
+
const previous = this.logger.getContext() ?? "";
|
|
256
|
+
this.logger.setContext(context);
|
|
257
|
+
try {
|
|
258
|
+
return fn();
|
|
259
|
+
} finally {
|
|
260
|
+
this.logger.setContext(previous);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Split NestJS `...optionalParams` into a per-call context and a payload.
|
|
265
|
+
* A trailing string is the context; plain objects are merged into the payload and
|
|
266
|
+
* an Error goes under `error`. For `error()` (`withStack`), a leading string is the stack
|
|
267
|
+
* trace, and a lone string is the stack only if it looks like one, since Nest's own
|
|
268
|
+
* `Logger` appends the context as the last param. Anything else is listed under `params`.
|
|
269
|
+
*/
|
|
270
|
+
parseParams(params, withStack = false) {
|
|
271
|
+
if (params.length === 0) return {};
|
|
272
|
+
let rest = params;
|
|
273
|
+
let context;
|
|
274
|
+
const last = params[params.length - 1];
|
|
275
|
+
if (typeof last === "string" && !(withStack && params.length === 1 && looksLikeStack(last))) {
|
|
276
|
+
context = last.length > 0 ? last : void 0;
|
|
277
|
+
rest = params.slice(0, -1);
|
|
278
|
+
}
|
|
279
|
+
let data;
|
|
280
|
+
const extras = [];
|
|
281
|
+
for (const param of rest) if (withStack && typeof param === "string" && (data === null || data === void 0 ? void 0 : data["stack"]) === void 0) data = {
|
|
282
|
+
...data,
|
|
283
|
+
stack: param
|
|
284
|
+
};
|
|
285
|
+
else if (param instanceof Error) data = {
|
|
286
|
+
...data,
|
|
287
|
+
error: param
|
|
288
|
+
};
|
|
289
|
+
else if (isPlainObject(param)) data = {
|
|
290
|
+
...data,
|
|
291
|
+
...param
|
|
292
|
+
};
|
|
293
|
+
else if (param !== void 0) extras.push(typeof param === "object" && param !== null ? describeObject(param) : param);
|
|
294
|
+
if (extras.length > 0) data = {
|
|
295
|
+
...data,
|
|
296
|
+
params: extras
|
|
297
|
+
};
|
|
298
|
+
return context === void 0 ? { data } : {
|
|
299
|
+
context,
|
|
300
|
+
data
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
reportFailure(method, result) {
|
|
304
|
+
result.catch((err) => internalError(`LogixiaLoggerService.${method} failed`, err));
|
|
184
305
|
}
|
|
185
306
|
formatMessage(message) {
|
|
186
307
|
if (typeof message === "string") return message;
|