logixia 2.0.11 → 2.2.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 +4 -3
- package/dist/{async-context-BGUCdYAa.mjs → async-context-1YMPGgJZ.mjs} +3 -3
- package/dist/{async-context-BGUCdYAa.mjs.map → async-context-1YMPGgJZ.mjs.map} +1 -1
- package/dist/{async-context-D8um9I5V.js → async-context-CoPhbRG0.js} +4 -4
- package/dist/{async-context-D8um9I5V.js.map → async-context-CoPhbRG0.js.map} +1 -1
- package/dist/{azure-monitor.transport-CTnfwA0F.mjs → azure-monitor.transport-B_dqSV_o.mjs} +4 -4
- package/dist/{azure-monitor.transport-CTnfwA0F.mjs.map → azure-monitor.transport-B_dqSV_o.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-C8KdmsSw.js → azure-monitor.transport-Bl3xVvpN.js} +4 -4
- package/dist/{azure-monitor.transport-C8KdmsSw.js.map → azure-monitor.transport-Bl3xVvpN.js.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.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-BJqzpfpT.mjs → batch-buffer-BnmVCCwI.mjs} +2 -2
- package/dist/{batch-buffer-BJqzpfpT.mjs.map → batch-buffer-BnmVCCwI.mjs.map} +1 -1
- package/dist/{batch-buffer-BTQdAXwC.js → batch-buffer-C-ETEX3Y.js} +2 -2
- package/dist/{batch-buffer-BTQdAXwC.js.map → batch-buffer-C-ETEX3Y.js.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 +33 -15
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +33 -15
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-C6kKEVrU.mjs → builder-CbttbixM.mjs} +158 -279
- package/dist/builder-CbttbixM.mjs.map +1 -0
- package/dist/{builder-Up4YxX7l.js → builder-Ck1tsC5d.js} +160 -305
- package/dist/builder-Ck1tsC5d.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-Brh5fmRN.mjs} +5 -5
- package/dist/{cloudwatch.transport-Bl1qzdBx.mjs.map → cloudwatch.transport-Brh5fmRN.mjs.map} +1 -1
- package/dist/{cloudwatch.transport-BoCyxNKO.js → cloudwatch.transport-DO9e__Z-.js} +5 -5
- package/dist/{cloudwatch.transport-BoCyxNKO.js.map → cloudwatch.transport-DO9e__Z-.js.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-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 +3 -3
- package/dist/correlation.mjs +3 -3
- 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/error.utils-B8_CwESF.mjs +189 -0
- package/dist/error.utils-B8_CwESF.mjs.map +1 -0
- package/dist/error.utils-fZkRExam.js +212 -0
- package/dist/error.utils-fZkRExam.js.map +1 -0
- package/dist/fastify.d.mts +89 -0
- package/dist/fastify.d.mts.map +1 -0
- package/dist/fastify.d.ts +89 -0
- package/dist/fastify.d.ts.map +1 -0
- package/dist/fastify.js +265 -0
- package/dist/fastify.js.map +1 -0
- package/dist/fastify.mjs +263 -0
- package/dist/fastify.mjs.map +1 -0
- 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-DOH4bpWM.mjs → gcp.transport-BY1Z3cS0.mjs} +5 -5
- package/dist/{gcp.transport-DOH4bpWM.mjs.map → gcp.transport-BY1Z3cS0.mjs.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-D_NHVZrw.js → gcp.transport-V9R4dwdT.js} +5 -5
- package/dist/{gcp.transport-D_NHVZrw.js.map → gcp.transport-V9R4dwdT.js.map} +1 -1
- package/dist/hono.d.mts +66 -0
- package/dist/hono.d.mts.map +1 -0
- package/dist/hono.d.ts +66 -0
- package/dist/hono.d.ts.map +1 -0
- package/dist/hono.js +512 -0
- package/dist/hono.js.map +1 -0
- package/dist/hono.mjs +511 -0
- package/dist/hono.mjs.map +1 -0
- 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 +23 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -9
- 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 +6 -5
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +4 -3
- 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 +172 -50
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +168 -46
- package/dist/nest.mjs.map +1 -1
- package/dist/{otel-DH6-G6DR.js → otel-BrgvxLDW.js} +319 -66
- package/dist/otel-BrgvxLDW.js.map +1 -0
- package/dist/{otel-DAVxpArV.mjs → otel-C5jBV_l_.mjs} +319 -66
- package/dist/otel-C5jBV_l_.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/{request-trace-C7kXMjx5.js → request-trace-6NBSw5lt.js} +14 -3
- package/dist/{request-trace-C7kXMjx5.js.map → request-trace-6NBSw5lt.js.map} +1 -1
- package/dist/{request-trace-Dekcnenb.mjs → request-trace-txUhyyre.mjs} +9 -4
- package/dist/{request-trace-Dekcnenb.mjs.map → request-trace-txUhyyre.mjs.map} +1 -1
- 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-D1F4MW69.mjs → secret-config-Cng7XPLx.mjs} +18 -13
- package/dist/secret-config-Cng7XPLx.mjs.map +1 -0
- package/dist/{secret-config-6hdODxBb.js → secret-config-OqmIPmpV.js} +21 -16
- package/dist/secret-config-OqmIPmpV.js.map +1 -0
- 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-YvaLJxNv.mjs → slack.transport-C6dzPJHX.mjs} +226 -9
- package/dist/slack.transport-C6dzPJHX.mjs.map +1 -0
- package/dist/{slack.transport-CEYBVzUj.js → slack.transport-Ci0swStG.js} +231 -8
- package/dist/slack.transport-Ci0swStG.js.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 +106 -22
- 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-CwNpH98o.js → worker.transport-CZOutlxC.js} +40 -2
- package/dist/worker.transport-CZOutlxC.js.map +1 -0
- package/dist/{worker.transport-DgK_ZXlB.mjs → worker.transport-CxFD8mvS.mjs} +40 -2
- package/dist/worker.transport-CxFD8mvS.mjs.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 +37 -2
- 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/secret-config-6hdODxBb.js.map +0 -1
- package/dist/secret-config-D1F4MW69.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.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_secret_config = require("./secret-config-
|
|
3
|
-
const require_builder = require("./builder-
|
|
4
|
-
const
|
|
5
|
-
const require_request_trace = require("./request-trace-
|
|
2
|
+
const require_secret_config = require("./secret-config-OqmIPmpV.js");
|
|
3
|
+
const require_builder = require("./builder-Ck1tsC5d.js");
|
|
4
|
+
const require_own_property = require("./own-property-BWkibepN.js");
|
|
5
|
+
const require_request_trace = require("./request-trace-6NBSw5lt.js");
|
|
6
|
+
const require_sensitive_names = require("./sensitive-names-NiKIRhp5.js");
|
|
6
7
|
const require_internal_log = require("./internal-log-DwqTjhpb.js");
|
|
7
8
|
const require_csv_utils = require("./csv.utils-CbVHY1pd.js");
|
|
9
|
+
const require_error_utils = require("./error.utils-fZkRExam.js");
|
|
8
10
|
let _nestjs_common = require("@nestjs/common");
|
|
9
11
|
let rxjs = require("rxjs");
|
|
10
12
|
// \0@oxc-project+runtime@0.155.0/helpers/esm/decorateMetadata.js
|
|
@@ -20,12 +22,37 @@ function __decorate(decorators, target, key, desc) {
|
|
|
20
22
|
}
|
|
21
23
|
// src/core/logitron-nestjs.service.ts
|
|
22
24
|
var _LogixiaLoggerService;
|
|
25
|
+
const looksLikeStack = (value) => value.includes("\n at ");
|
|
26
|
+
const NEST_LEVEL_TO_LOGIXIA = {
|
|
27
|
+
fatal: require_builder.LogLevel.ERROR,
|
|
28
|
+
error: require_builder.LogLevel.ERROR,
|
|
29
|
+
warn: require_builder.LogLevel.WARN,
|
|
30
|
+
log: require_builder.LogLevel.INFO,
|
|
31
|
+
debug: require_builder.LogLevel.DEBUG,
|
|
32
|
+
verbose: require_builder.LogLevel.TRACE
|
|
33
|
+
};
|
|
34
|
+
const LEVEL_VERBOSITY = [
|
|
35
|
+
require_builder.LogLevel.ERROR,
|
|
36
|
+
require_builder.LogLevel.WARN,
|
|
37
|
+
require_builder.LogLevel.INFO,
|
|
38
|
+
require_builder.LogLevel.DEBUG,
|
|
39
|
+
require_builder.LogLevel.TRACE
|
|
40
|
+
];
|
|
41
|
+
function isPlainObject(value) {
|
|
42
|
+
if (typeof value !== "object" || value === null) return false;
|
|
43
|
+
const proto = Object.getPrototypeOf(value);
|
|
44
|
+
return proto === Object.prototype || proto === null;
|
|
45
|
+
}
|
|
46
|
+
function describeObject(value) {
|
|
47
|
+
var _value$constructor;
|
|
48
|
+
return Array.isArray(value) ? require_csv_utils.safeToString(value) : `[${((_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name) ?? "Object"}]`;
|
|
49
|
+
}
|
|
23
50
|
let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
24
51
|
logger;
|
|
25
52
|
context;
|
|
26
53
|
_mergedConfig;
|
|
27
54
|
constructor(config) {
|
|
28
|
-
const
|
|
55
|
+
const mergedConfig = {
|
|
29
56
|
appName: "NestJS-App",
|
|
30
57
|
environment: "development",
|
|
31
58
|
traceId: true,
|
|
@@ -60,37 +87,40 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
60
87
|
message: "[message]",
|
|
61
88
|
payload: "[payload]",
|
|
62
89
|
timeTaken: "[time_taken_MS]"
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
require_secret_config.protectSecrets(this, ["_mergedConfig"]);
|
|
66
|
-
this._mergedConfig = {
|
|
67
|
-
...defaultConfig,
|
|
90
|
+
},
|
|
68
91
|
...config
|
|
69
92
|
};
|
|
70
|
-
this.
|
|
93
|
+
this._attach(mergedConfig, new require_builder.LogixiaLogger(mergedConfig));
|
|
94
|
+
}
|
|
95
|
+
_attach(mergedConfig, logger) {
|
|
96
|
+
require_secret_config.protectSecrets(this, ["_mergedConfig"]);
|
|
97
|
+
this._mergedConfig = mergedConfig;
|
|
98
|
+
this.logger = logger;
|
|
71
99
|
this._createCustomLevelMethods();
|
|
72
100
|
}
|
|
73
101
|
_createCustomLevelMethods() {
|
|
74
102
|
var _this$_mergedConfig$l;
|
|
75
103
|
const levels = (_this$_mergedConfig$l = this._mergedConfig.levelOptions) === null || _this$_mergedConfig$l === void 0 ? void 0 : _this$_mergedConfig$l.levels;
|
|
76
104
|
if (!levels) return;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (typeof
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
105
|
+
const self = this;
|
|
106
|
+
const define = (method, levelName) => {
|
|
107
|
+
if (typeof self[method] !== "undefined") return;
|
|
108
|
+
self[method] = async (message, data) => this.logger.logLevel(levelName, message, data);
|
|
109
|
+
};
|
|
110
|
+
const names = Object.keys(levels);
|
|
111
|
+
for (const levelName of names) define(levelName, levelName);
|
|
112
|
+
for (const levelName of names) define(levelName.toLowerCase(), levelName);
|
|
84
113
|
}
|
|
85
114
|
/**
|
|
86
|
-
* NestJS `LoggerService.log` — void
|
|
87
|
-
*
|
|
115
|
+
* NestJS `LoggerService.log` — void. Maps internally to `info`.
|
|
116
|
+
* A trailing string is the context for this call only; object params are merged into the payload.
|
|
88
117
|
*
|
|
89
118
|
* @example `logger.log('User signed up', 'AuthService')`
|
|
119
|
+
* @example `logger.log('User signed up', { userId: 'u_abc' }, 'AuthService')`
|
|
90
120
|
*/
|
|
91
|
-
log(message,
|
|
92
|
-
this.
|
|
93
|
-
this.
|
|
121
|
+
log(message, ...optionalParams) {
|
|
122
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
123
|
+
this.reportFailure("log", this.withContext(context, () => this.logger.info(this.formatMessage(message), data)));
|
|
94
124
|
}
|
|
95
125
|
/**
|
|
96
126
|
* Native async `info` — structured data, returns `Promise<void>`.
|
|
@@ -100,27 +130,49 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
100
130
|
async info(message, data) {
|
|
101
131
|
return this.logger.info(message, data);
|
|
102
132
|
}
|
|
103
|
-
error(message,
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
133
|
+
error(message, ...optionalParams) {
|
|
134
|
+
const only = optionalParams[0];
|
|
135
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) {
|
|
136
|
+
const data = only;
|
|
137
|
+
return message instanceof Error ? this.logger.error(message, data) : this.logger.error(this.formatMessage(message), data);
|
|
138
|
+
}
|
|
139
|
+
const { context, data } = this.parseParams(optionalParams, true);
|
|
140
|
+
this.reportFailure("error", this.withContext(context, () => message instanceof Error ? this.logger.error(message, data) : this.logger.error(this.formatMessage(message), data)));
|
|
109
141
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
142
|
+
/**
|
|
143
|
+
* NestJS `LoggerService.fatal`. logixia has no level above `error`, so this logs
|
|
144
|
+
* at `error` with `fatal: true` in the payload, or at a custom `fatal` level when
|
|
145
|
+
* one is configured.
|
|
146
|
+
*
|
|
147
|
+
* @example `logger.fatal('Cannot reach the database, shutting down', 'Bootstrap')`
|
|
148
|
+
*/
|
|
149
|
+
fatal(message, ...optionalParams) {
|
|
150
|
+
var _this$_mergedConfig$l2;
|
|
151
|
+
const { context, data } = this.parseParams(optionalParams, true);
|
|
152
|
+
const text = this.formatMessage(message);
|
|
153
|
+
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;
|
|
154
|
+
this.reportFailure("fatal", this.withContext(context, () => hasFatalLevel ? this.logger.logLevel("fatal", text, data) : this.logger.error(text, {
|
|
155
|
+
...data,
|
|
156
|
+
fatal: true
|
|
157
|
+
})));
|
|
114
158
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
159
|
+
warn(message, ...optionalParams) {
|
|
160
|
+
const only = optionalParams[0];
|
|
161
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.warn(this.formatMessage(message), only);
|
|
162
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
163
|
+
this.reportFailure("warn", this.withContext(context, () => this.logger.warn(this.formatMessage(message), data)));
|
|
119
164
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
165
|
+
debug(message, ...optionalParams) {
|
|
166
|
+
const only = optionalParams[0];
|
|
167
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.debug(this.formatMessage(message), only);
|
|
168
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
169
|
+
this.reportFailure("debug", this.withContext(context, () => this.logger.debug(this.formatMessage(message), data)));
|
|
170
|
+
}
|
|
171
|
+
verbose(message, ...optionalParams) {
|
|
172
|
+
const only = optionalParams[0];
|
|
173
|
+
if (optionalParams.length === 1 && typeof only === "object" && only !== null) return this.logger.trace(this.formatMessage(message), only);
|
|
174
|
+
const { context, data } = this.parseParams(optionalParams);
|
|
175
|
+
this.reportFailure("verbose", this.withContext(context, () => this.logger.trace(this.formatMessage(message), data)));
|
|
124
176
|
}
|
|
125
177
|
/**
|
|
126
178
|
* Native async `trace` — lowest verbosity level, structured data.
|
|
@@ -157,9 +209,30 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
157
209
|
getLevel() {
|
|
158
210
|
return this.logger.getLevel();
|
|
159
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* NestJS `LoggerService.setLogLevels`. logixia filters by a minimum level, not a
|
|
214
|
+
* set, so the most verbose of `levels` becomes the threshold and everything more
|
|
215
|
+
* severe stays on (`['log', 'error']` also enables `warn`). Unknown names are
|
|
216
|
+
* ignored, and an empty list is ignored too: use `silent` to turn logging off.
|
|
217
|
+
*
|
|
218
|
+
* @example `logger.setLogLevels(['error', 'warn'])`
|
|
219
|
+
*/
|
|
220
|
+
setLogLevels(levels) {
|
|
221
|
+
let threshold;
|
|
222
|
+
let verbosity = -1;
|
|
223
|
+
for (const name of levels) {
|
|
224
|
+
const level = NEST_LEVEL_TO_LOGIXIA[name];
|
|
225
|
+
const rank = level === void 0 ? -1 : LEVEL_VERBOSITY.indexOf(level);
|
|
226
|
+
if (rank > verbosity) {
|
|
227
|
+
verbosity = rank;
|
|
228
|
+
threshold = level;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
if (threshold !== void 0) this.setLevel(threshold);
|
|
232
|
+
}
|
|
160
233
|
child(context, data) {
|
|
161
|
-
const childService =
|
|
162
|
-
childService.
|
|
234
|
+
const childService = Object.create(_LogixiaLoggerService.prototype);
|
|
235
|
+
childService._attach(this._mergedConfig, this.logger.child(context, data));
|
|
163
236
|
childService.context = context;
|
|
164
237
|
return childService;
|
|
165
238
|
}
|
|
@@ -179,9 +252,58 @@ let LogixiaLoggerService = _LogixiaLoggerService = class LogixiaLoggerService {
|
|
|
179
252
|
getLogger() {
|
|
180
253
|
return this.logger;
|
|
181
254
|
}
|
|
182
|
-
|
|
183
|
-
if (
|
|
184
|
-
|
|
255
|
+
withContext(context, fn) {
|
|
256
|
+
if (context === void 0 || context === this.logger.getContext()) return fn();
|
|
257
|
+
const previous = this.logger.getContext() ?? "";
|
|
258
|
+
this.logger.setContext(context);
|
|
259
|
+
try {
|
|
260
|
+
return fn();
|
|
261
|
+
} finally {
|
|
262
|
+
this.logger.setContext(previous);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Split NestJS `...optionalParams` into a per-call context and a payload.
|
|
267
|
+
* A trailing string is the context; plain objects are merged into the payload and
|
|
268
|
+
* an Error goes under `error`. For `error()` (`withStack`), a leading string is the stack
|
|
269
|
+
* trace, and a lone string is the stack only if it looks like one, since Nest's own
|
|
270
|
+
* `Logger` appends the context as the last param. Anything else is listed under `params`.
|
|
271
|
+
*/
|
|
272
|
+
parseParams(params, withStack = false) {
|
|
273
|
+
if (params.length === 0) return {};
|
|
274
|
+
let rest = params;
|
|
275
|
+
let context;
|
|
276
|
+
const last = params[params.length - 1];
|
|
277
|
+
if (typeof last === "string" && !(withStack && params.length === 1 && looksLikeStack(last))) {
|
|
278
|
+
context = last.length > 0 ? last : void 0;
|
|
279
|
+
rest = params.slice(0, -1);
|
|
280
|
+
}
|
|
281
|
+
let data;
|
|
282
|
+
const extras = [];
|
|
283
|
+
for (const param of rest) if (withStack && typeof param === "string" && (data === null || data === void 0 ? void 0 : data["stack"]) === void 0) data = {
|
|
284
|
+
...data,
|
|
285
|
+
stack: param
|
|
286
|
+
};
|
|
287
|
+
else if (param instanceof Error) data = {
|
|
288
|
+
...data,
|
|
289
|
+
error: param
|
|
290
|
+
};
|
|
291
|
+
else if (isPlainObject(param)) data = {
|
|
292
|
+
...data,
|
|
293
|
+
...param
|
|
294
|
+
};
|
|
295
|
+
else if (param !== void 0) extras.push(typeof param === "object" && param !== null ? describeObject(param) : param);
|
|
296
|
+
if (extras.length > 0) data = {
|
|
297
|
+
...data,
|
|
298
|
+
params: extras
|
|
299
|
+
};
|
|
300
|
+
return context === void 0 ? { data } : {
|
|
301
|
+
context,
|
|
302
|
+
data
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
reportFailure(method, result) {
|
|
306
|
+
result.catch((err) => require_internal_log.internalError(`LogixiaLoggerService.${method} failed`, err));
|
|
185
307
|
}
|
|
186
308
|
formatMessage(message) {
|
|
187
309
|
if (typeof message === "string") return message;
|
|
@@ -823,7 +945,7 @@ function scrubSerialized(value, clean, depth, seen) {
|
|
|
823
945
|
try {
|
|
824
946
|
if (Array.isArray(value)) return value.map((item) => scrubSerialized(item, clean, depth + 1, seen));
|
|
825
947
|
const out = {};
|
|
826
|
-
for (const [key, item] of Object.entries(value))
|
|
948
|
+
for (const [key, item] of Object.entries(value)) require_own_property.assignOwn(out, key, scrubSerialized(item, clean, depth + 1, seen));
|
|
827
949
|
return out;
|
|
828
950
|
} finally {
|
|
829
951
|
seen.delete(value);
|
|
@@ -841,7 +963,7 @@ function fallbackError(exception, clean) {
|
|
|
841
963
|
} catch {}
|
|
842
964
|
const copy = new Error(message);
|
|
843
965
|
copy.name = name;
|
|
844
|
-
|
|
966
|
+
require_own_property.assignOwn(copy, "serialization", "[Unserializable]");
|
|
845
967
|
return copy;
|
|
846
968
|
}
|
|
847
969
|
/**
|
|
@@ -853,7 +975,7 @@ function fallbackError(exception, clean) {
|
|
|
853
975
|
function sanitizedError(exception, clean) {
|
|
854
976
|
try {
|
|
855
977
|
if (!(exception instanceof Error)) return new Error(clean(String(exception)));
|
|
856
|
-
const scrubbed = scrubSerialized(
|
|
978
|
+
const scrubbed = scrubSerialized(require_error_utils.serializeError(exception), clean, 0, /* @__PURE__ */ new WeakSet());
|
|
857
979
|
const copy = new Error(String(scrubbed["message"] ?? ""));
|
|
858
980
|
for (const [key, value] of Object.entries(scrubbed)) {
|
|
859
981
|
if (key === "message") continue;
|
|
@@ -862,7 +984,7 @@ function sanitizedError(exception, clean) {
|
|
|
862
984
|
writable: true,
|
|
863
985
|
configurable: true
|
|
864
986
|
});
|
|
865
|
-
else
|
|
987
|
+
else require_own_property.assignOwn(copy, key, value);
|
|
866
988
|
}
|
|
867
989
|
return copy;
|
|
868
990
|
} catch {
|