logixia 2.0.0 → 2.0.4
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 +46 -29
- package/dist/async-context-B05ArHgM.mjs +134 -0
- package/dist/async-context-B05ArHgM.mjs.map +1 -0
- package/dist/async-context-DTQgi8f7.js +150 -0
- package/dist/async-context-DTQgi8f7.js.map +1 -0
- package/dist/{azure-monitor.transport-CHnjVRF-.mjs → azure-monitor.transport-BPbgjATu.mjs} +27 -15
- package/dist/azure-monitor.transport-BPbgjATu.mjs.map +1 -0
- package/dist/{azure-monitor.transport-Cn_3Usvu.d.ts → azure-monitor.transport-C7kYyZUW.d.mts} +3 -6
- package/dist/azure-monitor.transport-C7kYyZUW.d.mts.map +1 -0
- package/dist/{azure-monitor.transport-CrvfHd9C.js → azure-monitor.transport-CwbOLZHB.js} +32 -20
- package/dist/azure-monitor.transport-CwbOLZHB.js.map +1 -0
- package/dist/{azure-monitor.transport-D7Da4RAb.d.mts → azure-monitor.transport-DV03Z5P4.d.ts} +3 -6
- package/dist/azure-monitor.transport-DV03Z5P4.d.ts.map +1 -0
- package/dist/azure.d.mts +1 -2
- package/dist/azure.d.ts +1 -2
- package/dist/azure.js +3 -6
- package/dist/azure.mjs +1 -6
- package/dist/{batch-buffer-PGvSgbmd.mjs → batch-buffer-0fgLmIPn.mjs} +21 -7
- package/dist/batch-buffer-0fgLmIPn.mjs.map +1 -0
- package/dist/{batch-buffer-BY-mRWIK.js → batch-buffer-DT4gdXmf.js} +53 -40
- package/dist/batch-buffer-DT4gdXmf.js.map +1 -0
- package/dist/browser.d.mts +45 -25
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.d.ts +45 -25
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +420 -53
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +421 -56
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-0gEzRopq.mjs → builder-D70z6kjj.mjs} +212 -104
- package/dist/builder-D70z6kjj.mjs.map +1 -0
- package/dist/{builder-D44QktIo.js → builder-M7NoaugM.js} +355 -249
- package/dist/builder-M7NoaugM.js.map +1 -0
- package/dist/cli/index.js +59 -59
- package/dist/cloudwatch.d.mts +1 -2
- package/dist/cloudwatch.d.ts +1 -2
- package/dist/cloudwatch.js +3 -7
- package/dist/cloudwatch.mjs +1 -7
- package/dist/{cloudwatch.transport-BO1ahxw-.js → cloudwatch.transport-B2wKQFF7.js} +61 -36
- package/dist/cloudwatch.transport-B2wKQFF7.js.map +1 -0
- package/dist/{cloudwatch.transport-DZ6ies7g.mjs → cloudwatch.transport-BTvYfLs9.mjs} +54 -28
- package/dist/cloudwatch.transport-BTvYfLs9.mjs.map +1 -0
- package/dist/{cloudwatch.transport-DsEq633o.d.ts → cloudwatch.transport-Bf7L4I59.d.ts} +2 -6
- package/dist/cloudwatch.transport-Bf7L4I59.d.ts.map +1 -0
- package/dist/{cloudwatch.transport-UlyZFWMn.d.mts → cloudwatch.transport-Rj4yTpRn.d.mts} +2 -6
- package/dist/cloudwatch.transport-Rj4yTpRn.d.mts.map +1 -0
- package/dist/{coerce.utils-Cu6IUTgX.mjs → coerce.utils-B_rEudCn.mjs} +3 -4
- package/dist/{coerce.utils-Cu6IUTgX.mjs.map → coerce.utils-B_rEudCn.mjs.map} +1 -1
- package/dist/{coerce.utils-B-LilukN.js → coerce.utils-C1C5sIX0.js} +8 -10
- package/dist/{coerce.utils-B-LilukN.js.map → coerce.utils-C1C5sIX0.js.map} +1 -1
- package/dist/correlation.d.mts +13 -16
- package/dist/correlation.d.mts.map +1 -1
- package/dist/correlation.d.ts +13 -16
- package/dist/correlation.d.ts.map +1 -1
- package/dist/correlation.js +58 -9
- package/dist/correlation.js.map +1 -1
- package/dist/correlation.mjs +56 -6
- package/dist/correlation.mjs.map +1 -1
- package/dist/{entry-fields-BJkuPnIg.mjs → entry-fields-CGuvT2R0.mjs} +5 -6
- package/dist/entry-fields-CGuvT2R0.mjs.map +1 -0
- package/dist/{entry-fields-BvOLFlJ4.js → entry-fields-RLd1jCoR.js} +10 -12
- package/dist/entry-fields-RLd1jCoR.js.map +1 -0
- package/dist/gcp.d.mts +1 -2
- package/dist/gcp.d.ts +1 -2
- package/dist/gcp.js +3 -7
- package/dist/gcp.mjs +1 -7
- package/dist/{gcp.transport-B7oc97sG.d.ts → gcp.transport-C5D72b1g.d.mts} +3 -6
- package/dist/gcp.transport-C5D72b1g.d.mts.map +1 -0
- package/dist/{gcp.transport-GrJurKo8.d.mts → gcp.transport-CFQfdAOK.d.ts} +3 -6
- package/dist/gcp.transport-CFQfdAOK.d.ts.map +1 -0
- package/dist/{gcp.transport-DBX5TPIy.mjs → gcp.transport-CGKopAhQ.mjs} +55 -16
- package/dist/gcp.transport-CGKopAhQ.mjs.map +1 -0
- package/dist/{gcp.transport-CHV8MGgz.js → gcp.transport-KZe9hCAR.js} +60 -22
- package/dist/gcp.transport-KZe9hCAR.js.map +1 -0
- package/dist/{index-DhIoploR.d.ts → index-DwozbmB4.d.ts} +3 -8
- package/dist/index-DwozbmB4.d.ts.map +1 -0
- package/dist/{index-3mw5gaCw.d.mts → index-xqaJtAZn.d.mts} +3 -8
- package/dist/index-xqaJtAZn.d.mts.map +1 -0
- package/dist/index.d.mts +106 -165
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +105 -164
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +164 -261
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +147 -243
- package/dist/index.mjs.map +1 -1
- package/dist/internal-log-b0Vp4qrB.js +183 -0
- package/dist/internal-log-b0Vp4qrB.js.map +1 -0
- package/dist/internal-log-uCSd1PMc.mjs +142 -0
- package/dist/internal-log-uCSd1PMc.mjs.map +1 -0
- package/dist/{logitron-logger-UVeN-mQm.d.ts → logitron-logger-D2B75Oc7.d.ts} +116 -8
- package/dist/logitron-logger-D2B75Oc7.d.ts.map +1 -0
- package/dist/{logitron-logger-BFDSO8Io.d.mts → logitron-logger-oEd6wNhf.d.mts} +116 -8
- package/dist/logitron-logger-oEd6wNhf.d.mts.map +1 -0
- package/dist/middleware.d.mts +10 -12
- package/dist/middleware.d.mts.map +1 -1
- package/dist/middleware.d.ts +10 -12
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +16 -47
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +13 -45
- package/dist/middleware.mjs.map +1 -1
- package/dist/nest.d.mts +26 -44
- package/dist/nest.d.mts.map +1 -1
- package/dist/nest.d.ts +26 -44
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js +116 -132
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +59 -73
- package/dist/nest.mjs.map +1 -1
- package/dist/{trace.utils-CvXgaiQT.mjs → request-trace-C_fvIDv4.mjs} +44 -9
- package/dist/request-trace-C_fvIDv4.mjs.map +1 -0
- package/dist/{trace.utils-DpBOLDtq.js → request-trace-wTJdKp6-.js} +121 -77
- package/dist/request-trace-wTJdKp6-.js.map +1 -0
- package/dist/rolldown-runtime-D3PmRqjj.mjs +4 -0
- package/dist/{safe-stringify-DJ66tW5I.mjs → safe-stringify-BMRl3EX3.mjs} +3 -4
- package/dist/safe-stringify-BMRl3EX3.mjs.map +1 -0
- package/dist/{safe-stringify-DWo3aZp_.js → safe-stringify-DLz1Kz3o.js} +23 -25
- package/dist/safe-stringify-DLz1Kz3o.js.map +1 -0
- package/dist/{search-CNh9uVwR.d.ts → search-BH33XhuU.d.mts} +2 -22
- package/dist/search-BH33XhuU.d.mts.map +1 -0
- package/dist/{search-BFbu_oVn.mjs → search-CWMVYC-R.mjs} +22 -39
- package/dist/search-CWMVYC-R.mjs.map +1 -0
- package/dist/{search-DXANsQ2n.d.mts → search-CazwyX5Z.d.ts} +2 -22
- package/dist/search-CazwyX5Z.d.ts.map +1 -0
- package/dist/{search-C4V0OMEn.js → search-DUfWuzFP.js} +52 -69
- package/dist/search-DUfWuzFP.js.map +1 -0
- package/dist/search.d.mts +2 -4
- package/dist/search.d.ts +2 -4
- package/dist/search.js +3 -4
- package/dist/search.mjs +1 -4
- package/dist/secret-config-BegMLkYl.mjs +209 -0
- package/dist/secret-config-BegMLkYl.mjs.map +1 -0
- package/dist/secret-config-CBZBs0p1.js +271 -0
- package/dist/secret-config-CBZBs0p1.js.map +1 -0
- package/dist/{slack.transport-Bzw7sucI.mjs → slack.transport-Ce96JBDk.mjs} +212 -31
- package/dist/slack.transport-Ce96JBDk.mjs.map +1 -0
- package/dist/{slack.transport-BfJRouB2.js → slack.transport-Dlx3xvb7.js} +234 -41
- package/dist/slack.transport-Dlx3xvb7.js.map +1 -0
- package/dist/{slack.transport-BZzoXDPn.d.mts → slack.transport-DrirgDNy.d.ts} +56 -9
- package/dist/slack.transport-DrirgDNy.d.ts.map +1 -0
- package/dist/{slack.transport-CXjQYOes.d.ts → slack.transport-DxHOXlLu.d.mts} +56 -9
- package/dist/slack.transport-DxHOXlLu.d.mts.map +1 -0
- package/dist/testing.d.mts +3 -8
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.d.ts +3 -8
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +3 -4
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +2 -3
- package/dist/testing.mjs.map +1 -1
- package/dist/{transport.manager-CXbKKdVE.js → transport.manager-DkcEOlqV.js} +164 -160
- package/dist/transport.manager-DkcEOlqV.js.map +1 -0
- package/dist/{transport.manager-BiuCAJd2.mjs → transport.manager-eZ_EeC00.mjs} +108 -99
- package/dist/transport.manager-eZ_EeC00.mjs.map +1 -0
- package/dist/{transport.types-CGoHpWQR.d.ts → transport.types-BJVL1QQl.d.mts} +1 -3
- package/dist/transport.types-BJVL1QQl.d.mts.map +1 -0
- package/dist/{transport.types-BMnurPcc.d.mts → transport.types-BJVL1QQl.d.ts} +1 -3
- package/dist/transport.types-BJVL1QQl.d.ts.map +1 -0
- package/dist/transports.d.mts +22 -36
- package/dist/transports.d.mts.map +1 -1
- package/dist/transports.d.ts +22 -36
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +10 -13
- package/dist/transports.mjs +7 -13
- package/dist/worker-entry.js +337 -87
- package/dist/worker.d.mts +1 -2
- package/dist/worker.d.ts +1 -2
- package/dist/worker.js +3 -4
- package/dist/worker.mjs +1 -4
- package/dist/{worker.transport-CdzSZJmw.d.ts → worker.transport-BuPwBi3d.d.ts} +2 -6
- package/dist/worker.transport-BuPwBi3d.d.ts.map +1 -0
- package/dist/{worker.transport-BdPxu3PN.js → worker.transport-C6GNl_r2.js} +44 -14
- package/dist/worker.transport-C6GNl_r2.js.map +1 -0
- package/dist/{worker.transport-lPxO2MVL.mjs → worker.transport-DLVA4y2e.mjs} +39 -9
- package/dist/worker.transport-DLVA4y2e.mjs.map +1 -0
- package/dist/{worker.transport-JvGPog3C.d.mts → worker.transport-hJay1wxA.d.mts} +2 -6
- package/dist/worker.transport-hJay1wxA.d.mts.map +1 -0
- package/package.json +19 -11
- package/dist/async-context-BzJrbfQs.mjs +0 -72
- package/dist/async-context-BzJrbfQs.mjs.map +0 -1
- package/dist/async-context-DyQQYq3I.js +0 -92
- package/dist/async-context-DyQQYq3I.js.map +0 -1
- package/dist/azure-monitor.transport-CHnjVRF-.mjs.map +0 -1
- package/dist/azure-monitor.transport-Cn_3Usvu.d.ts.map +0 -1
- package/dist/azure-monitor.transport-CrvfHd9C.js.map +0 -1
- package/dist/azure-monitor.transport-D7Da4RAb.d.mts.map +0 -1
- package/dist/batch-buffer-BY-mRWIK.js.map +0 -1
- package/dist/batch-buffer-PGvSgbmd.mjs.map +0 -1
- package/dist/builder-0gEzRopq.mjs.map +0 -1
- package/dist/builder-D44QktIo.js.map +0 -1
- package/dist/chunk-DLSkYcPk.mjs +0 -7
- package/dist/chunk-nOFOJqeH.js +0 -30
- package/dist/cloudwatch.transport-BO1ahxw-.js.map +0 -1
- package/dist/cloudwatch.transport-DZ6ies7g.mjs.map +0 -1
- package/dist/cloudwatch.transport-DsEq633o.d.ts.map +0 -1
- package/dist/cloudwatch.transport-UlyZFWMn.d.mts.map +0 -1
- package/dist/entry-fields-BJkuPnIg.mjs.map +0 -1
- package/dist/entry-fields-BvOLFlJ4.js.map +0 -1
- package/dist/gcp.transport-B7oc97sG.d.ts.map +0 -1
- package/dist/gcp.transport-CHV8MGgz.js.map +0 -1
- package/dist/gcp.transport-DBX5TPIy.mjs.map +0 -1
- package/dist/gcp.transport-GrJurKo8.d.mts.map +0 -1
- package/dist/index-3mw5gaCw.d.mts.map +0 -1
- package/dist/index-DhIoploR.d.ts.map +0 -1
- package/dist/internal-log-BUJYMZbE.js +0 -70
- package/dist/internal-log-BUJYMZbE.js.map +0 -1
- package/dist/internal-log-Cm8SOWSV.mjs +0 -52
- package/dist/internal-log-Cm8SOWSV.mjs.map +0 -1
- package/dist/logitron-logger-BFDSO8Io.d.mts.map +0 -1
- package/dist/logitron-logger-UVeN-mQm.d.ts.map +0 -1
- package/dist/safe-stringify-DJ66tW5I.mjs.map +0 -1
- package/dist/safe-stringify-DWo3aZp_.js.map +0 -1
- package/dist/search-BFbu_oVn.mjs.map +0 -1
- package/dist/search-C4V0OMEn.js.map +0 -1
- package/dist/search-CNh9uVwR.d.ts.map +0 -1
- package/dist/search-DXANsQ2n.d.mts.map +0 -1
- package/dist/slack.transport-BZzoXDPn.d.mts.map +0 -1
- package/dist/slack.transport-BfJRouB2.js.map +0 -1
- package/dist/slack.transport-Bzw7sucI.mjs.map +0 -1
- package/dist/slack.transport-CXjQYOes.d.ts.map +0 -1
- package/dist/trace.utils-CvXgaiQT.mjs.map +0 -1
- package/dist/trace.utils-DpBOLDtq.js.map +0 -1
- package/dist/transport.manager-BiuCAJd2.mjs.map +0 -1
- package/dist/transport.manager-CXbKKdVE.js.map +0 -1
- package/dist/transport.types-BMnurPcc.d.mts.map +0 -1
- package/dist/transport.types-CGoHpWQR.d.ts.map +0 -1
- package/dist/worker.transport-BdPxu3PN.js.map +0 -1
- package/dist/worker.transport-CdzSZJmw.d.ts.map +0 -1
- package/dist/worker.transport-JvGPog3C.d.mts.map +0 -1
- package/dist/worker.transport-lPxO2MVL.mjs.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { t as __require } from "./
|
|
2
|
-
import { n as internalLog, r as internalWarn, t as internalError } from "./internal-log-
|
|
3
|
-
import {
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import * as path$1 from "node:path";
|
|
1
|
+
import { t as __require } from "./rolldown-runtime-D3PmRqjj.mjs";
|
|
2
|
+
import { n as internalLog, r as internalWarn, t as internalError } from "./internal-log-uCSd1PMc.mjs";
|
|
3
|
+
import { n as protectSecrets, o as urlSecrets, r as scrubError, t as collectSecrets } from "./secret-config-BegMLkYl.mjs";
|
|
4
|
+
import { t as safeToString } from "./coerce.utils-B_rEudCn.mjs";
|
|
5
|
+
import { i as stringifyForLog } from "./safe-stringify-BMRl3EX3.mjs";
|
|
6
|
+
import { t as mergeCoreFields } from "./entry-fields-CGuvT2R0.mjs";
|
|
8
7
|
import { EventEmitter } from "node:events";
|
|
9
8
|
import { promisify } from "node:util";
|
|
10
9
|
import { createGzip, gzip } from "node:zlib";
|
|
10
|
+
import * as fs from "node:fs";
|
|
11
|
+
import * as path$1 from "node:path";
|
|
11
12
|
import { pipeline } from "node:stream/promises";
|
|
12
|
-
|
|
13
|
-
//#region src/utils/sanitize.utils.ts
|
|
13
|
+
// src/utils/sanitize.utils.ts
|
|
14
14
|
/**
|
|
15
15
|
* Control-character stripping for text-mode log output.
|
|
16
16
|
*
|
|
@@ -26,9 +26,7 @@ const VISIBLE_ESCAPES = {
|
|
|
26
26
|
function stripControlChars(value) {
|
|
27
27
|
return value.replace(CONTROL_CHARS_RE, (ch) => VISIBLE_ESCAPES[ch] ?? "");
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
//#endregion
|
|
31
|
-
//#region src/transports/console.transport.ts
|
|
29
|
+
// src/transports/console.transport.ts
|
|
32
30
|
/**
|
|
33
31
|
* Writes log entries to stdout (info/debug/verbose) and stderr (error/warn).
|
|
34
32
|
*
|
|
@@ -38,26 +36,6 @@ function stripControlChars(value) {
|
|
|
38
36
|
* transports: { console: { format: 'json' } }
|
|
39
37
|
*/
|
|
40
38
|
var ConsoleTransport = class ConsoleTransport {
|
|
41
|
-
static #_ = this.COLORS = new Map([
|
|
42
|
-
["black", "\x1B[30m"],
|
|
43
|
-
["red", "\x1B[31m"],
|
|
44
|
-
["green", "\x1B[32m"],
|
|
45
|
-
["yellow", "\x1B[33m"],
|
|
46
|
-
["blue", "\x1B[34m"],
|
|
47
|
-
["magenta", "\x1B[35m"],
|
|
48
|
-
["cyan", "\x1B[36m"],
|
|
49
|
-
["white", "\x1B[37m"],
|
|
50
|
-
["gray", "\x1B[90m"],
|
|
51
|
-
["grey", "\x1B[90m"],
|
|
52
|
-
["brightred", "\x1B[91m"],
|
|
53
|
-
["brightgreen", "\x1B[92m"],
|
|
54
|
-
["brightyellow", "\x1B[93m"],
|
|
55
|
-
["brightblue", "\x1B[94m"],
|
|
56
|
-
["brightmagenta", "\x1B[95m"],
|
|
57
|
-
["brightcyan", "\x1B[96m"],
|
|
58
|
-
["brightwhite", "\x1B[97m"],
|
|
59
|
-
["reset", "\x1B[0m"]
|
|
60
|
-
]);
|
|
61
39
|
static sanitize(value) {
|
|
62
40
|
return stripControlChars(safeToString(value));
|
|
63
41
|
}
|
|
@@ -126,10 +104,28 @@ var ConsoleTransport = class ConsoleTransport {
|
|
|
126
104
|
close() {
|
|
127
105
|
return Promise.resolve();
|
|
128
106
|
}
|
|
107
|
+
static #_ = () => this.COLORS = /* @__PURE__ */ new Map([
|
|
108
|
+
["black", "\x1B[30m"],
|
|
109
|
+
["red", "\x1B[31m"],
|
|
110
|
+
["green", "\x1B[32m"],
|
|
111
|
+
["yellow", "\x1B[33m"],
|
|
112
|
+
["blue", "\x1B[34m"],
|
|
113
|
+
["magenta", "\x1B[35m"],
|
|
114
|
+
["cyan", "\x1B[36m"],
|
|
115
|
+
["white", "\x1B[37m"],
|
|
116
|
+
["gray", "\x1B[90m"],
|
|
117
|
+
["grey", "\x1B[90m"],
|
|
118
|
+
["brightred", "\x1B[91m"],
|
|
119
|
+
["brightgreen", "\x1B[92m"],
|
|
120
|
+
["brightyellow", "\x1B[93m"],
|
|
121
|
+
["brightblue", "\x1B[94m"],
|
|
122
|
+
["brightmagenta", "\x1B[95m"],
|
|
123
|
+
["brightcyan", "\x1B[96m"],
|
|
124
|
+
["brightwhite", "\x1B[97m"],
|
|
125
|
+
["reset", "\x1B[0m"]
|
|
126
|
+
]);
|
|
129
127
|
};
|
|
130
|
-
|
|
131
|
-
//#endregion
|
|
132
|
-
//#region src/transports/buffer-cap.ts
|
|
128
|
+
// src/transports/buffer-cap.ts
|
|
133
129
|
const DEFAULT_BUFFER_CAP = 1e4;
|
|
134
130
|
const DROP_WARN_INTERVAL_MS$1 = 5e3;
|
|
135
131
|
/**
|
|
@@ -145,8 +141,10 @@ var BufferCap = class {
|
|
|
145
141
|
this.dropped = 0;
|
|
146
142
|
this.lastWarning = 0;
|
|
147
143
|
let max = fallback;
|
|
148
|
-
if (requested !== void 0)
|
|
149
|
-
|
|
144
|
+
if (requested !== void 0) {
|
|
145
|
+
if (Number.isInteger(requested) && requested >= 1) max = requested;
|
|
146
|
+
else internalWarn(`${name}: maxBufferSize ${String(requested)} is not a positive integer; using ${fallback}`);
|
|
147
|
+
}
|
|
150
148
|
this.max = Math.max(max, batchSize);
|
|
151
149
|
}
|
|
152
150
|
/** Drops the oldest items beyond the cap, in place. */
|
|
@@ -168,9 +166,7 @@ var BufferCap = class {
|
|
|
168
166
|
this.lastWarning = now;
|
|
169
167
|
}
|
|
170
168
|
};
|
|
171
|
-
|
|
172
|
-
//#endregion
|
|
173
|
-
//#region src/transports/database.transport.ts
|
|
169
|
+
// src/transports/database.transport.ts
|
|
174
170
|
/**
|
|
175
171
|
* Validates that a SQL identifier (table/index name) contains only safe characters.
|
|
176
172
|
* Prevents SQL injection via user-supplied table names.
|
|
@@ -193,7 +189,7 @@ const PG_DATA_CLASSES = [
|
|
|
193
189
|
"23",
|
|
194
190
|
"54"
|
|
195
191
|
];
|
|
196
|
-
const MYSQL_DATA_CODES = new Set([
|
|
192
|
+
const MYSQL_DATA_CODES = /* @__PURE__ */ new Set([
|
|
197
193
|
"ER_DATA_TOO_LONG",
|
|
198
194
|
"ER_TRUNCATED_WRONG_VALUE",
|
|
199
195
|
"ER_TRUNCATED_WRONG_VALUE_FOR_FIELD",
|
|
@@ -203,7 +199,7 @@ const MYSQL_DATA_CODES = new Set([
|
|
|
203
199
|
"ER_INVALID_JSON_TEXT",
|
|
204
200
|
"ER_INVALID_CHARACTER_STRING"
|
|
205
201
|
]);
|
|
206
|
-
const MYSQL_DATA_ERRNOS = new Set([
|
|
202
|
+
const MYSQL_DATA_ERRNOS = /* @__PURE__ */ new Set([
|
|
207
203
|
1048,
|
|
208
204
|
1062,
|
|
209
205
|
1264,
|
|
@@ -212,12 +208,12 @@ const MYSQL_DATA_ERRNOS = new Set([
|
|
|
212
208
|
1406,
|
|
213
209
|
3140
|
|
214
210
|
]);
|
|
215
|
-
const SQLITE_DATA_CODES = new Set([
|
|
211
|
+
const SQLITE_DATA_CODES = /* @__PURE__ */ new Set([
|
|
216
212
|
"SQLITE_CONSTRAINT",
|
|
217
213
|
"SQLITE_TOOBIG",
|
|
218
214
|
"SQLITE_MISMATCH"
|
|
219
215
|
]);
|
|
220
|
-
const MONGO_DATA_CODES = new Set([
|
|
216
|
+
const MONGO_DATA_CODES = /* @__PURE__ */ new Set([
|
|
221
217
|
2,
|
|
222
218
|
121,
|
|
223
219
|
10334,
|
|
@@ -279,6 +275,7 @@ var DatabaseTransport = class {
|
|
|
279
275
|
this.name = "database";
|
|
280
276
|
this.batch = [];
|
|
281
277
|
this.isConnected = false;
|
|
278
|
+
protectSecrets(this, ["config", "connection"]);
|
|
282
279
|
this.batchSize = config.batchSize || 100;
|
|
283
280
|
this.flushInterval = config.flushInterval || 5e3;
|
|
284
281
|
this.cap = new BufferCap("DatabaseTransport", config.maxBufferSize, this.batchSize);
|
|
@@ -286,6 +283,14 @@ var DatabaseTransport = class {
|
|
|
286
283
|
if (config.table) validateSqlIdentifier(config.table, "table");
|
|
287
284
|
this.setupFlushTimer();
|
|
288
285
|
}
|
|
286
|
+
secretValues() {
|
|
287
|
+
const { connectionString, password } = this.config;
|
|
288
|
+
return [
|
|
289
|
+
connectionString,
|
|
290
|
+
password,
|
|
291
|
+
...connectionString ? urlSecrets(connectionString) : []
|
|
292
|
+
];
|
|
293
|
+
}
|
|
289
294
|
async write(entry) {
|
|
290
295
|
if (!this.isConnected) await this.connect();
|
|
291
296
|
this.addToBatch(entry);
|
|
@@ -346,6 +351,13 @@ var DatabaseTransport = class {
|
|
|
346
351
|
this.cap.enforce(this.batch);
|
|
347
352
|
}
|
|
348
353
|
async writeEntries(entries) {
|
|
354
|
+
try {
|
|
355
|
+
await this.writeEntriesUnscrubbed(entries);
|
|
356
|
+
} catch (error) {
|
|
357
|
+
throw scrubError(error, this.secretValues());
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
async writeEntriesUnscrubbed(entries) {
|
|
349
361
|
switch (this.config.type) {
|
|
350
362
|
case "mongodb":
|
|
351
363
|
await this.flushToMongoDB(entries);
|
|
@@ -424,13 +436,12 @@ var DatabaseTransport = class {
|
|
|
424
436
|
case "mysql":
|
|
425
437
|
await this.connectMySQL();
|
|
426
438
|
break;
|
|
427
|
-
case "sqlite":
|
|
428
|
-
await this.connectSQLite();
|
|
429
|
-
break;
|
|
439
|
+
case "sqlite": await this.connectSQLite();
|
|
430
440
|
}
|
|
431
441
|
this.isConnected = true;
|
|
432
442
|
} catch (error) {
|
|
433
443
|
this.isConnected = false;
|
|
444
|
+
scrubError(error, this.secretValues());
|
|
434
445
|
throw new Error(`Database connection failed: ${error}`, { cause: error });
|
|
435
446
|
}
|
|
436
447
|
}
|
|
@@ -439,7 +450,8 @@ var DatabaseTransport = class {
|
|
|
439
450
|
const { MongoClient } = await import("mongodb").catch(() => {
|
|
440
451
|
throw new Error("MongoDB driver not installed. Run: npm install mongodb");
|
|
441
452
|
});
|
|
442
|
-
|
|
453
|
+
const connectionString = this.config.connectionString || `mongodb://${this.config.host}:${this.config.port}/${this.config.database}`;
|
|
454
|
+
this.connection = new MongoClient(connectionString);
|
|
443
455
|
await this.connection.connect();
|
|
444
456
|
await this.connection.db(this.config.database).admin().ping();
|
|
445
457
|
} catch (error) {
|
|
@@ -551,12 +563,13 @@ var DatabaseTransport = class {
|
|
|
551
563
|
entry.environment
|
|
552
564
|
].map((value, column) => stripNul(column === 3 ? stripJsonNulEscape(value) : value))), POSTGRES_ROWS_PER_INSERT);
|
|
553
565
|
const insertChunk = async (rows) => {
|
|
566
|
+
const placeholders = rows.map((_, i) => {
|
|
567
|
+
return `(${Array.from({ length: POSTGRES_COLUMNS }, (_unused, c) => `$${i * POSTGRES_COLUMNS + c + 1}`).join(", ")})`;
|
|
568
|
+
}).join(", ");
|
|
554
569
|
const query = `
|
|
555
570
|
INSERT INTO ${tableName}
|
|
556
571
|
(timestamp, level, message, payload, context, trace_id, app_name, environment)
|
|
557
|
-
VALUES ${
|
|
558
|
-
return `(${Array.from({ length: POSTGRES_COLUMNS }, (_unused, c) => `$${i * POSTGRES_COLUMNS + c + 1}`).join(", ")})`;
|
|
559
|
-
}).join(", ")}
|
|
572
|
+
VALUES ${placeholders}
|
|
560
573
|
`;
|
|
561
574
|
await this.connection.query(query, rows.flat());
|
|
562
575
|
};
|
|
@@ -720,9 +733,7 @@ var DatabaseTransport = class {
|
|
|
720
733
|
case "mysql":
|
|
721
734
|
await this.connection.end();
|
|
722
735
|
break;
|
|
723
|
-
case "sqlite":
|
|
724
|
-
await this.connection.close();
|
|
725
|
-
break;
|
|
736
|
+
case "sqlite": await this.connection.close();
|
|
726
737
|
}
|
|
727
738
|
this.isConnected = false;
|
|
728
739
|
}
|
|
@@ -763,9 +774,7 @@ var DatabaseTransport = class {
|
|
|
763
774
|
}
|
|
764
775
|
}
|
|
765
776
|
};
|
|
766
|
-
|
|
767
|
-
//#endregion
|
|
768
|
-
//#region src/transports/analytics.transport.ts
|
|
777
|
+
// src/transports/analytics.transport.ts
|
|
769
778
|
/**
|
|
770
779
|
* Thrown by sendBatch() when part of a batch was already delivered. drain()
|
|
771
780
|
* requeues only `unsent`, so delivered entries are not sent twice.
|
|
@@ -789,16 +798,25 @@ var AnalyticsTransport = class {
|
|
|
789
798
|
enableEventTracking: true,
|
|
790
799
|
...config
|
|
791
800
|
};
|
|
801
|
+
protectSecrets(this, ["config"]);
|
|
792
802
|
this.level = config.level;
|
|
793
803
|
this.batchSize = this.config.batchSize || 50;
|
|
794
804
|
this.flushInterval = this.config.flushInterval || 1e4;
|
|
795
805
|
this.cap = new BufferCap(name, config.maxBufferSize, this.batchSize);
|
|
796
806
|
}
|
|
807
|
+
/** Secret strings to scrub from errors: everything secret-looking in the config. Override to add more. */
|
|
808
|
+
secretValues() {
|
|
809
|
+
return collectSecrets(this.config);
|
|
810
|
+
}
|
|
797
811
|
async write(entry) {
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
812
|
+
try {
|
|
813
|
+
if (!this.isReady) await this.ensureReady();
|
|
814
|
+
if (this.shouldSkipEntry(entry)) return;
|
|
815
|
+
if (this.config.batchSize && this.config.batchSize > 1) this.addToBatch(entry);
|
|
816
|
+
else await this.sendEntry(entry);
|
|
817
|
+
} catch (error) {
|
|
818
|
+
throw scrubError(error, this.secretValues());
|
|
819
|
+
}
|
|
802
820
|
}
|
|
803
821
|
addToBatch(entry) {
|
|
804
822
|
this.batch.push(entry);
|
|
@@ -836,6 +854,7 @@ var AnalyticsTransport = class {
|
|
|
836
854
|
try {
|
|
837
855
|
await this.sendBatch(entriesToSend);
|
|
838
856
|
} catch (error) {
|
|
857
|
+
scrubError(error, this.secretValues());
|
|
839
858
|
internalError(`Analytics transport ${this.name} flush failed`, error);
|
|
840
859
|
this.batch.unshift(...error instanceof PartialBatchError ? error.unsent : entriesToSend);
|
|
841
860
|
this.cap.enforce(this.batch);
|
|
@@ -897,9 +916,7 @@ var AnalyticsTransport = class {
|
|
|
897
916
|
await this.ensureReady();
|
|
898
917
|
}
|
|
899
918
|
};
|
|
900
|
-
|
|
901
|
-
//#endregion
|
|
902
|
-
//#region src/transports/datadog.transport.ts
|
|
919
|
+
// src/transports/datadog.transport.ts
|
|
903
920
|
const gzipAsync = promisify(gzip);
|
|
904
921
|
const MAX_LOGS_PER_REQUEST = 1e3;
|
|
905
922
|
const MAX_LOGS_PAYLOAD_BYTES = 5e6;
|
|
@@ -979,6 +996,7 @@ var DataDogTransport = class extends AnalyticsTransport {
|
|
|
979
996
|
this.baseUrl = `https://api.${site}`;
|
|
980
997
|
this.logsUrl = `https://http-intake.logs.${site}`;
|
|
981
998
|
this.metricsUrl = `https://api.${site}`;
|
|
999
|
+
protectSecrets(this, ["datadogConfig"]);
|
|
982
1000
|
}
|
|
983
1001
|
async initialize() {
|
|
984
1002
|
try {
|
|
@@ -1014,9 +1032,9 @@ var DataDogTransport = class extends AnalyticsTransport {
|
|
|
1014
1032
|
}));
|
|
1015
1033
|
const chunks = this.chunkLogs(items);
|
|
1016
1034
|
for (let i = 0; i < chunks.length; i += 1) {
|
|
1017
|
-
const chunk
|
|
1035
|
+
const chunk = chunks[i];
|
|
1018
1036
|
try {
|
|
1019
|
-
await this.makeLogsRequest("/api/v2/logs", `[${chunk
|
|
1037
|
+
await this.makeLogsRequest("/api/v2/logs", `[${chunk.map((item) => item.json).join(",")}]`);
|
|
1020
1038
|
} catch (error) {
|
|
1021
1039
|
if (i === 0) throw error;
|
|
1022
1040
|
const unsent = chunks.slice(i).flatMap((c) => c.map((item) => item.entry));
|
|
@@ -1205,9 +1223,7 @@ var DataDogTransport = class extends AnalyticsTransport {
|
|
|
1205
1223
|
}
|
|
1206
1224
|
}
|
|
1207
1225
|
};
|
|
1208
|
-
|
|
1209
|
-
//#endregion
|
|
1210
|
-
//#region src/transports/file.transport.ts
|
|
1226
|
+
// src/transports/file.transport.ts
|
|
1211
1227
|
const appendFile = promisify(fs.appendFile);
|
|
1212
1228
|
const rename = promisify(fs.rename);
|
|
1213
1229
|
const unlink = promisify(fs.unlink);
|
|
@@ -1470,7 +1486,6 @@ var FileTransport = class {
|
|
|
1470
1486
|
csvField(entry.traceId),
|
|
1471
1487
|
csvField(stringifyForLog(entry.data || {}))
|
|
1472
1488
|
].join(",");
|
|
1473
|
-
case "text":
|
|
1474
1489
|
default: return `${entry.timestamp.toISOString()} [${stripControlChars(safeToString(entry.level)).toUpperCase()}] ${stripControlChars(safeToString(entry.message))}${entry.data ? " " + stringifyForLog(entry.data) : ""}`;
|
|
1475
1490
|
}
|
|
1476
1491
|
}
|
|
@@ -1496,22 +1511,22 @@ var FileTransport = class {
|
|
|
1496
1511
|
await this.append(content);
|
|
1497
1512
|
return;
|
|
1498
1513
|
}
|
|
1499
|
-
let chunk
|
|
1514
|
+
let chunk = "";
|
|
1500
1515
|
let chunkBytes = 0;
|
|
1501
1516
|
for (const entry of entries) {
|
|
1502
1517
|
const line = this.formatEntry(entry) + "\n";
|
|
1503
1518
|
const lineBytes = Buffer.byteLength(line);
|
|
1504
1519
|
const used = this.bytesWritten + chunkBytes;
|
|
1505
1520
|
if (used > 0 && used + lineBytes > this.maxBytes) {
|
|
1506
|
-
if (chunk
|
|
1507
|
-
chunk
|
|
1521
|
+
if (chunk) await this.append(chunk, chunkBytes);
|
|
1522
|
+
chunk = "";
|
|
1508
1523
|
chunkBytes = 0;
|
|
1509
1524
|
await this.rotateFile();
|
|
1510
1525
|
}
|
|
1511
|
-
chunk
|
|
1526
|
+
chunk += line;
|
|
1512
1527
|
chunkBytes += lineBytes;
|
|
1513
1528
|
}
|
|
1514
|
-
if (chunk
|
|
1529
|
+
if (chunk) await this.append(chunk, chunkBytes);
|
|
1515
1530
|
}
|
|
1516
1531
|
async append(content, bytes = Buffer.byteLength(content)) {
|
|
1517
1532
|
await appendFile(this.currentFilePath, content, { mode: this.fileMode });
|
|
@@ -1540,7 +1555,7 @@ var FileTransport = class {
|
|
|
1540
1555
|
}
|
|
1541
1556
|
parseInterval(interval) {
|
|
1542
1557
|
const match = /^(\d{1,6})([hdwmy])$/i.exec(interval.trim());
|
|
1543
|
-
if (!match) return
|
|
1558
|
+
if (!match) return 864e5;
|
|
1544
1559
|
const value = Number.parseInt(match[1] || "1", 10);
|
|
1545
1560
|
switch ((match[2] || "h").toLowerCase()) {
|
|
1546
1561
|
case "h": return value * 60 * 60 * 1e3;
|
|
@@ -1655,9 +1670,7 @@ var FileTransport = class {
|
|
|
1655
1670
|
this.reportDropped(0);
|
|
1656
1671
|
}
|
|
1657
1672
|
};
|
|
1658
|
-
|
|
1659
|
-
//#endregion
|
|
1660
|
-
//#region src/transports/google-analytics.transport.ts
|
|
1673
|
+
// src/transports/google-analytics.transport.ts
|
|
1661
1674
|
/**
|
|
1662
1675
|
* Sends log entries as Google Analytics 4 Measurement Protocol events.
|
|
1663
1676
|
*
|
|
@@ -1672,6 +1685,7 @@ var GoogleAnalyticsTransport = class extends AnalyticsTransport {
|
|
|
1672
1685
|
this.baseUrl = "https://www.google-analytics.com/mp/collect";
|
|
1673
1686
|
this.debugUrl = "https://www.google-analytics.com/debug/mp/collect";
|
|
1674
1687
|
this.gaConfig = config;
|
|
1688
|
+
protectSecrets(this, ["gaConfig"]);
|
|
1675
1689
|
}
|
|
1676
1690
|
async initialize() {
|
|
1677
1691
|
try {
|
|
@@ -1759,10 +1773,10 @@ var GoogleAnalyticsTransport = class extends AnalyticsTransport {
|
|
|
1759
1773
|
}
|
|
1760
1774
|
async sendEvents(events) {
|
|
1761
1775
|
const chunks = this.chunkArray(events, 25);
|
|
1762
|
-
for (const chunk
|
|
1776
|
+
for (const chunk of chunks) {
|
|
1763
1777
|
const payload = {
|
|
1764
1778
|
client_id: this.gaConfig.clientId || this.generateClientId(),
|
|
1765
|
-
events: chunk
|
|
1779
|
+
events: chunk
|
|
1766
1780
|
};
|
|
1767
1781
|
await this.makeRequest(payload);
|
|
1768
1782
|
}
|
|
@@ -1883,9 +1897,7 @@ var GoogleAnalyticsTransport = class extends AnalyticsTransport {
|
|
|
1883
1897
|
await this.sendEvent(event);
|
|
1884
1898
|
}
|
|
1885
1899
|
};
|
|
1886
|
-
|
|
1887
|
-
//#endregion
|
|
1888
|
-
//#region src/transports/mixpanel.transport.ts
|
|
1900
|
+
// src/transports/mixpanel.transport.ts
|
|
1889
1901
|
/**
|
|
1890
1902
|
* Sends log entries as Mixpanel events via the Track and Engage HTTP APIs.
|
|
1891
1903
|
*
|
|
@@ -1897,6 +1909,7 @@ var MixpanelTransport = class extends AnalyticsTransport {
|
|
|
1897
1909
|
super("mixpanel", config);
|
|
1898
1910
|
this.baseUrl = "https://api.mixpanel.com";
|
|
1899
1911
|
this.mixpanelConfig = config;
|
|
1912
|
+
protectSecrets(this, ["mixpanelConfig"]);
|
|
1900
1913
|
}
|
|
1901
1914
|
async initialize() {
|
|
1902
1915
|
try {
|
|
@@ -2022,9 +2035,7 @@ var MixpanelTransport = class extends AnalyticsTransport {
|
|
|
2022
2035
|
await this.makeRequest("/track", [payload]);
|
|
2023
2036
|
}
|
|
2024
2037
|
};
|
|
2025
|
-
|
|
2026
|
-
//#endregion
|
|
2027
|
-
//#region src/version.ts
|
|
2038
|
+
// src/version.ts
|
|
2028
2039
|
/**
|
|
2029
2040
|
* The published version of this package.
|
|
2030
2041
|
*
|
|
@@ -2033,9 +2044,7 @@ var MixpanelTransport = class extends AnalyticsTransport {
|
|
|
2033
2044
|
* free of a JSON import that bundlers and consumers would have to resolve.
|
|
2034
2045
|
*/
|
|
2035
2046
|
const LOGIXIA_VERSION = "1.12.0";
|
|
2036
|
-
|
|
2037
|
-
//#endregion
|
|
2038
|
-
//#region src/transports/segment.transport.ts
|
|
2047
|
+
// src/transports/segment.transport.ts
|
|
2039
2048
|
/**
|
|
2040
2049
|
* Sends log entries as Segment track/identify events via the HTTP Tracking API.
|
|
2041
2050
|
*
|
|
@@ -2053,6 +2062,10 @@ var SegmentTransport = class extends AnalyticsTransport {
|
|
|
2053
2062
|
...config
|
|
2054
2063
|
};
|
|
2055
2064
|
this.baseUrl = config.dataPlaneUrl || "https://api.segment.io";
|
|
2065
|
+
protectSecrets(this, ["segmentConfig", "baseUrl"]);
|
|
2066
|
+
}
|
|
2067
|
+
secretValues() {
|
|
2068
|
+
return [...super.secretValues(), Buffer.from(`${this.segmentConfig.writeKey}:`).toString("base64")];
|
|
2056
2069
|
}
|
|
2057
2070
|
async initialize() {
|
|
2058
2071
|
try {
|
|
@@ -2120,8 +2133,8 @@ var SegmentTransport = class extends AnalyticsTransport {
|
|
|
2120
2133
|
}
|
|
2121
2134
|
async batchTrack(events) {
|
|
2122
2135
|
const chunks = this.chunkArray(events, this.segmentConfig.maxBatchSize || 100);
|
|
2123
|
-
for (const chunk
|
|
2124
|
-
const payload = { batch: chunk
|
|
2136
|
+
for (const chunk of chunks) {
|
|
2137
|
+
const payload = { batch: chunk };
|
|
2125
2138
|
await this.makeRequest("/v1/batch", payload);
|
|
2126
2139
|
}
|
|
2127
2140
|
}
|
|
@@ -2298,9 +2311,7 @@ var SegmentTransport = class extends AnalyticsTransport {
|
|
|
2298
2311
|
await this.makeRequest("/v1/track", payload);
|
|
2299
2312
|
}
|
|
2300
2313
|
};
|
|
2301
|
-
|
|
2302
|
-
//#endregion
|
|
2303
|
-
//#region src/transports/transport.manager.ts
|
|
2314
|
+
// src/transports/transport.manager.ts
|
|
2304
2315
|
function _sleep(ms) {
|
|
2305
2316
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
2306
2317
|
}
|
|
@@ -2495,7 +2506,6 @@ var TransportManager = class extends EventEmitter {
|
|
|
2495
2506
|
case "linear":
|
|
2496
2507
|
wait = baseDelay * (attempt + 1);
|
|
2497
2508
|
break;
|
|
2498
|
-
case "exponential":
|
|
2499
2509
|
default: wait = Math.min(baseDelay * Math.pow(2, attempt), maxDelay);
|
|
2500
2510
|
}
|
|
2501
2511
|
this.emit("transport:retry", transport.name, attempt + 1, maxRetries, wait);
|
|
@@ -2649,7 +2659,6 @@ var TransportManager = class extends EventEmitter {
|
|
|
2649
2659
|
internalLog("Transport level preferences cleared");
|
|
2650
2660
|
}
|
|
2651
2661
|
};
|
|
2652
|
-
|
|
2653
|
-
//#endregion
|
|
2654
2662
|
export { FileTransport as a, DatabaseTransport as c, stripControlChars as d, GoogleAnalyticsTransport as i, BufferCap as l, SegmentTransport as n, DataDogTransport as o, MixpanelTransport as r, AnalyticsTransport as s, TransportManager as t, ConsoleTransport as u };
|
|
2655
|
-
|
|
2663
|
+
|
|
2664
|
+
//# sourceMappingURL=transport.manager-eZ_EeC00.mjs.map
|