logixia 2.0.4 → 2.0.7
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 +172 -2614
- package/dist/{async-context-B05ArHgM.mjs → async-context-COuvmwsS.mjs} +4 -6
- package/dist/async-context-COuvmwsS.mjs.map +1 -0
- package/dist/{async-context-DTQgi8f7.js → async-context-Dv0bmPC-.js} +4 -6
- package/dist/async-context-Dv0bmPC-.js.map +1 -0
- package/dist/{azure-monitor.transport-DV03Z5P4.d.ts → azure-monitor.transport-Bvf7Xegt.d.ts} +2 -2
- package/dist/{azure-monitor.transport-DV03Z5P4.d.ts.map → azure-monitor.transport-Bvf7Xegt.d.ts.map} +1 -1
- package/dist/{azure-monitor.transport-C7kYyZUW.d.mts → azure-monitor.transport-CbSHOnNX.d.mts} +2 -2
- package/dist/{azure-monitor.transport-C7kYyZUW.d.mts.map → azure-monitor.transport-CbSHOnNX.d.mts.map} +1 -1
- package/dist/{azure-monitor.transport-BPbgjATu.mjs → azure-monitor.transport-Coz5Gesu.mjs} +5 -5
- package/dist/azure-monitor.transport-Coz5Gesu.mjs.map +1 -0
- package/dist/{azure-monitor.transport-CwbOLZHB.js → azure-monitor.transport-D6ryi8rA.js} +5 -5
- package/dist/azure-monitor.transport-D6ryi8rA.js.map +1 -0
- 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-DT4gdXmf.js → batch-buffer-CFzKnuNZ.js} +3 -3
- package/dist/{batch-buffer-DT4gdXmf.js.map → batch-buffer-CFzKnuNZ.js.map} +1 -1
- package/dist/{batch-buffer-0fgLmIPn.mjs → batch-buffer-CQUWDMYq.mjs} +3 -3
- package/dist/{batch-buffer-0fgLmIPn.mjs.map → batch-buffer-CQUWDMYq.mjs.map} +1 -1
- package/dist/browser.d.mts +5 -5
- package/dist/browser.d.mts.map +1 -1
- package/dist/browser.d.ts +5 -5
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +72 -13
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +72 -13
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-D70z6kjj.mjs → builder-C_TgxEOW.mjs} +106 -153
- package/dist/builder-C_TgxEOW.mjs.map +1 -0
- package/dist/{builder-M7NoaugM.js → builder-CzmM_4Ub.js} +110 -180
- package/dist/builder-CzmM_4Ub.js.map +1 -0
- package/dist/cli/index.js +157 -66
- 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-Bf7L4I59.d.ts → cloudwatch.transport-CQyT6U91.d.ts} +2 -2
- package/dist/{cloudwatch.transport-Bf7L4I59.d.ts.map → cloudwatch.transport-CQyT6U91.d.ts.map} +1 -1
- package/dist/{cloudwatch.transport-Rj4yTpRn.d.mts → cloudwatch.transport-CjVrI6S4.d.mts} +2 -2
- package/dist/{cloudwatch.transport-Rj4yTpRn.d.mts.map → cloudwatch.transport-CjVrI6S4.d.mts.map} +1 -1
- package/dist/{cloudwatch.transport-BTvYfLs9.mjs → cloudwatch.transport-Cr1aeTGj.mjs} +6 -6
- package/dist/cloudwatch.transport-Cr1aeTGj.mjs.map +1 -0
- package/dist/{cloudwatch.transport-B2wKQFF7.js → cloudwatch.transport-D4G5xYfG.js} +6 -6
- package/dist/cloudwatch.transport-D4G5xYfG.js.map +1 -0
- package/dist/correlation.d.mts +10 -55
- package/dist/correlation.d.mts.map +1 -1
- package/dist/correlation.d.ts +10 -55
- package/dist/correlation.d.ts.map +1 -1
- package/dist/correlation.js +15 -13
- package/dist/correlation.js.map +1 -1
- package/dist/correlation.mjs +15 -13
- package/dist/correlation.mjs.map +1 -1
- package/dist/{entry-fields-RLd1jCoR.js → entry-fields-CVwoQplO.js} +8 -3
- package/dist/entry-fields-CVwoQplO.js.map +1 -0
- package/dist/{entry-fields-CGuvT2R0.mjs → entry-fields-DNTKQxoU.mjs} +8 -3
- package/dist/entry-fields-DNTKQxoU.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-CFQfdAOK.d.ts → gcp.transport-BCIvdFV-.d.ts} +4 -4
- package/dist/{gcp.transport-CFQfdAOK.d.ts.map → gcp.transport-BCIvdFV-.d.ts.map} +1 -1
- package/dist/{gcp.transport-KZe9hCAR.js → gcp.transport-CVuRpchl.js} +20 -16
- package/dist/gcp.transport-CVuRpchl.js.map +1 -0
- package/dist/{gcp.transport-C5D72b1g.d.mts → gcp.transport-D9SdLPwP.d.mts} +4 -4
- package/dist/{gcp.transport-C5D72b1g.d.mts.map → gcp.transport-D9SdLPwP.d.mts.map} +1 -1
- package/dist/{gcp.transport-CGKopAhQ.mjs → gcp.transport-LLK2bw2-.mjs} +20 -16
- package/dist/gcp.transport-LLK2bw2-.mjs.map +1 -0
- package/dist/http-shapes-BnBkJcid.d.mts +32 -0
- package/dist/http-shapes-BnBkJcid.d.mts.map +1 -0
- package/dist/http-shapes-BnBkJcid.d.ts +32 -0
- package/dist/http-shapes-BnBkJcid.d.ts.map +1 -0
- package/dist/{index-xqaJtAZn.d.mts → index-BAkPHp5D.d.mts} +150 -8
- package/dist/index-BAkPHp5D.d.mts.map +1 -0
- package/dist/{index-DwozbmB4.d.ts → index-e7LowmAu.d.ts} +150 -8
- package/dist/index-e7LowmAu.d.ts.map +1 -0
- package/dist/index.d.mts +21 -65
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +21 -65
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -26
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -21
- package/dist/index.mjs.map +1 -1
- package/dist/{internal-log-uCSd1PMc.mjs → internal-log-Cy5nF1ZL.mjs} +2 -81
- package/dist/internal-log-Cy5nF1ZL.mjs.map +1 -0
- package/dist/{internal-log-b0Vp4qrB.js → internal-log-DwqTjhpb.js} +1 -104
- package/dist/internal-log-DwqTjhpb.js.map +1 -0
- package/dist/{logitron-logger-D2B75Oc7.d.ts → logitron-logger-Qh3y9-WH.d.ts} +13 -100
- package/dist/logitron-logger-Qh3y9-WH.d.ts.map +1 -0
- package/dist/{logitron-logger-oEd6wNhf.d.mts → logitron-logger-sYuk8fOb.d.mts} +13 -100
- package/dist/logitron-logger-sYuk8fOb.d.mts.map +1 -0
- package/dist/middleware.d.mts +4 -17
- package/dist/middleware.d.mts.map +1 -1
- package/dist/middleware.d.ts +4 -17
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +9 -39
- package/dist/middleware.js.map +1 -1
- package/dist/middleware.mjs +7 -37
- package/dist/middleware.mjs.map +1 -1
- package/dist/nest.d.mts +24 -8
- package/dist/nest.d.mts.map +1 -1
- package/dist/nest.d.ts +24 -8
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js +140 -27
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +140 -27
- package/dist/nest.mjs.map +1 -1
- package/dist/{transport.manager-DkcEOlqV.js → otel-ChnVYRLA.js} +214 -23
- package/dist/otel-ChnVYRLA.js.map +1 -0
- package/dist/{transport.manager-eZ_EeC00.mjs → otel-DOuwGPCd.mjs} +173 -24
- package/dist/otel-DOuwGPCd.mjs.map +1 -0
- package/dist/{request-trace-C_fvIDv4.mjs → request-trace-BgNykH9M.mjs} +1 -5
- package/dist/{request-trace-C_fvIDv4.mjs.map → request-trace-BgNykH9M.mjs.map} +1 -1
- package/dist/{request-trace-wTJdKp6-.js → request-trace-ByujsUZk.js} +1 -5
- package/dist/{request-trace-wTJdKp6-.js.map → request-trace-ByujsUZk.js.map} +1 -1
- package/dist/{safe-stringify-BMRl3EX3.mjs → safe-stringify--7gbe95n.mjs} +37 -12
- package/dist/safe-stringify--7gbe95n.mjs.map +1 -0
- package/dist/{safe-stringify-DLz1Kz3o.js → safe-stringify-CN7icp8S.js} +37 -12
- package/dist/safe-stringify-CN7icp8S.js.map +1 -0
- package/dist/{search-DUfWuzFP.js → search-CRjhHxe9.js} +269 -25
- package/dist/search-CRjhHxe9.js.map +1 -0
- package/dist/{search-CazwyX5Z.d.ts → search-D-8HJADE.d.mts} +5 -2
- package/dist/search-D-8HJADE.d.mts.map +1 -0
- package/dist/{search-CWMVYC-R.mjs → search-DAXKE-P9.mjs} +269 -25
- package/dist/search-DAXKE-P9.mjs.map +1 -0
- package/dist/{search-BH33XhuU.d.mts → search-DPwTKPve.d.ts} +5 -2
- package/dist/search-DPwTKPve.d.ts.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-CBZBs0p1.js → secret-config-BvFl2dC8.js} +7 -7
- package/dist/secret-config-BvFl2dC8.js.map +1 -0
- package/dist/{secret-config-BegMLkYl.mjs → secret-config-ByGq7kJd.mjs} +5 -5
- package/dist/secret-config-ByGq7kJd.mjs.map +1 -0
- package/dist/sensitive-names-CHMowujD.js +276 -0
- package/dist/sensitive-names-CHMowujD.js.map +1 -0
- package/dist/sensitive-names-o__1PUUR.mjs +217 -0
- package/dist/sensitive-names-o__1PUUR.mjs.map +1 -0
- package/dist/{slack.transport-DxHOXlLu.d.mts → slack.transport-BDyENuR0.d.mts} +2 -2
- package/dist/{slack.transport-DxHOXlLu.d.mts.map → slack.transport-BDyENuR0.d.mts.map} +1 -1
- package/dist/{slack.transport-DrirgDNy.d.ts → slack.transport-C6E0l4kw.d.ts} +2 -2
- package/dist/{slack.transport-DrirgDNy.d.ts.map → slack.transport-C6E0l4kw.d.ts.map} +1 -1
- package/dist/{slack.transport-Ce96JBDk.mjs → slack.transport-CSj1j0_X.mjs} +66 -15
- package/dist/slack.transport-CSj1j0_X.mjs.map +1 -0
- package/dist/{slack.transport-Dlx3xvb7.js → slack.transport-zLQ9MGxS.js} +67 -16
- package/dist/slack.transport-zLQ9MGxS.js.map +1 -0
- package/dist/testing.d.mts +11 -4
- package/dist/testing.d.mts.map +1 -1
- package/dist/testing.d.ts +11 -4
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +38 -3
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs +38 -3
- package/dist/testing.mjs.map +1 -1
- package/dist/{transport.types-BJVL1QQl.d.ts → transport.types-CzJq4IrF.d.mts} +14 -3
- package/dist/transport.types-CzJq4IrF.d.mts.map +1 -0
- package/dist/{transport.types-BJVL1QQl.d.mts → transport.types-CzJq4IrF.d.ts} +14 -3
- package/dist/transport.types-CzJq4IrF.d.ts.map +1 -0
- package/dist/transports.d.mts +25 -13
- package/dist/transports.d.mts.map +1 -1
- package/dist/transports.d.ts +25 -13
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +15 -15
- package/dist/transports.mjs +6 -6
- package/dist/worker-entry.js +130 -25
- 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-BuPwBi3d.d.ts → worker.transport-B9mCQSM1.d.ts} +7 -2
- package/dist/worker.transport-B9mCQSM1.d.ts.map +1 -0
- package/dist/{worker.transport-hJay1wxA.d.mts → worker.transport-Bl8lFRck.d.mts} +7 -2
- package/dist/worker.transport-Bl8lFRck.d.mts.map +1 -0
- package/dist/{worker.transport-DLVA4y2e.mjs → worker.transport-D78xhNhB.mjs} +13 -10
- package/dist/worker.transport-D78xhNhB.mjs.map +1 -0
- package/dist/{worker.transport-C6GNl_r2.js → worker.transport-DQDv1nAJ.js} +13 -10
- package/dist/worker.transport-DQDv1nAJ.js.map +1 -0
- package/package.json +33 -65
- package/dist/async-context-B05ArHgM.mjs.map +0 -1
- package/dist/async-context-DTQgi8f7.js.map +0 -1
- package/dist/azure-monitor.transport-BPbgjATu.mjs.map +0 -1
- package/dist/azure-monitor.transport-CwbOLZHB.js.map +0 -1
- package/dist/builder-D70z6kjj.mjs.map +0 -1
- package/dist/builder-M7NoaugM.js.map +0 -1
- package/dist/cloudwatch.transport-B2wKQFF7.js.map +0 -1
- package/dist/cloudwatch.transport-BTvYfLs9.mjs.map +0 -1
- package/dist/entry-fields-CGuvT2R0.mjs.map +0 -1
- package/dist/entry-fields-RLd1jCoR.js.map +0 -1
- package/dist/gcp.transport-CGKopAhQ.mjs.map +0 -1
- package/dist/gcp.transport-KZe9hCAR.js.map +0 -1
- package/dist/index-DwozbmB4.d.ts.map +0 -1
- package/dist/index-xqaJtAZn.d.mts.map +0 -1
- package/dist/internal-log-b0Vp4qrB.js.map +0 -1
- package/dist/internal-log-uCSd1PMc.mjs.map +0 -1
- package/dist/logitron-logger-D2B75Oc7.d.ts.map +0 -1
- package/dist/logitron-logger-oEd6wNhf.d.mts.map +0 -1
- package/dist/safe-stringify-BMRl3EX3.mjs.map +0 -1
- package/dist/safe-stringify-DLz1Kz3o.js.map +0 -1
- package/dist/search-BH33XhuU.d.mts.map +0 -1
- package/dist/search-CWMVYC-R.mjs.map +0 -1
- package/dist/search-CazwyX5Z.d.ts.map +0 -1
- package/dist/search-DUfWuzFP.js.map +0 -1
- package/dist/secret-config-BegMLkYl.mjs.map +0 -1
- package/dist/secret-config-CBZBs0p1.js.map +0 -1
- package/dist/slack.transport-Ce96JBDk.mjs.map +0 -1
- package/dist/slack.transport-Dlx3xvb7.js.map +0 -1
- package/dist/transport.manager-DkcEOlqV.js.map +0 -1
- package/dist/transport.manager-eZ_EeC00.mjs.map +0 -1
- package/dist/transport.types-BJVL1QQl.d.mts.map +0 -1
- package/dist/transport.types-BJVL1QQl.d.ts.map +0 -1
- package/dist/worker.transport-BuPwBi3d.d.ts.map +0 -1
- package/dist/worker.transport-C6GNl_r2.js.map +0 -1
- package/dist/worker.transport-DLVA4y2e.mjs.map +0 -1
- package/dist/worker.transport-hJay1wxA.d.mts.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_secret_config = require("./secret-config-
|
|
2
|
-
const require_internal_log = require("./internal-log-
|
|
1
|
+
const require_secret_config = require("./secret-config-BvFl2dC8.js");
|
|
2
|
+
const require_internal_log = require("./internal-log-DwqTjhpb.js");
|
|
3
3
|
const require_coerce_utils = require("./coerce.utils-C1C5sIX0.js");
|
|
4
|
-
const require_safe_stringify = require("./safe-stringify-
|
|
5
|
-
const require_entry_fields = require("./entry-fields-
|
|
4
|
+
const require_safe_stringify = require("./safe-stringify-CN7icp8S.js");
|
|
5
|
+
const require_entry_fields = require("./entry-fields-CVwoQplO.js");
|
|
6
6
|
let node_events = require("node:events");
|
|
7
7
|
let node_util = require("node:util");
|
|
8
8
|
let node_zlib = require("node:zlib");
|
|
@@ -43,6 +43,7 @@ var ConsoleTransport = class ConsoleTransport {
|
|
|
43
43
|
constructor(config = {}) {
|
|
44
44
|
this.config = config;
|
|
45
45
|
this.name = "console";
|
|
46
|
+
this.level = config.level;
|
|
46
47
|
if (config.filter) this.filter = config.filter;
|
|
47
48
|
}
|
|
48
49
|
write(entry) {
|
|
@@ -280,6 +281,7 @@ var DatabaseTransport = class {
|
|
|
280
281
|
this.batchSize = config.batchSize || 100;
|
|
281
282
|
this.flushInterval = config.flushInterval || 5e3;
|
|
282
283
|
this.cap = new BufferCap("DatabaseTransport", config.maxBufferSize, this.batchSize);
|
|
284
|
+
this.level = config.level;
|
|
283
285
|
if (config.filter) this.filter = config.filter;
|
|
284
286
|
if (config.table) validateSqlIdentifier(config.table, "table");
|
|
285
287
|
this.setupFlushTimer();
|
|
@@ -986,8 +988,12 @@ function tag(key, value) {
|
|
|
986
988
|
*
|
|
987
989
|
* The API key is transmitted via the `DD-API-KEY` request header — never in the URL.
|
|
988
990
|
*
|
|
991
|
+
* Metric names keep the legacy `logitron.logs.<level>` prefix (kept for
|
|
992
|
+
* dashboards and monitors that already query it; renaming would be a breaking
|
|
993
|
+
* change). Query `logitron.logs.error`, not `logixia.logs.error`.
|
|
994
|
+
*
|
|
989
995
|
* @example
|
|
990
|
-
*
|
|
996
|
+
* analytics: { datadog: { apiKey: process.env.DD_API_KEY, service: 'api', env: 'production' } }
|
|
991
997
|
*/
|
|
992
998
|
var DataDogTransport = class extends AnalyticsTransport {
|
|
993
999
|
constructor(config) {
|
|
@@ -1676,7 +1682,7 @@ var FileTransport = class {
|
|
|
1676
1682
|
* Sends log entries as Google Analytics 4 Measurement Protocol events.
|
|
1677
1683
|
*
|
|
1678
1684
|
* @example
|
|
1679
|
-
*
|
|
1685
|
+
* analytics: {
|
|
1680
1686
|
* googleAnalytics: { measurementId: 'G-XXXXXXX', apiSecret: process.env.GA_API_SECRET }
|
|
1681
1687
|
* }
|
|
1682
1688
|
*/
|
|
@@ -1898,12 +1904,42 @@ var GoogleAnalyticsTransport = class extends AnalyticsTransport {
|
|
|
1898
1904
|
await this.sendEvent(event);
|
|
1899
1905
|
}
|
|
1900
1906
|
};
|
|
1907
|
+
// src/transports/level-filter.ts
|
|
1908
|
+
/** Severity values of the built-in levels; lower is more severe (same scale as the logger). */
|
|
1909
|
+
const BUILTIN_LEVEL_VALUES = {
|
|
1910
|
+
error: 0,
|
|
1911
|
+
warn: 1,
|
|
1912
|
+
info: 2,
|
|
1913
|
+
debug: 3,
|
|
1914
|
+
trace: 4,
|
|
1915
|
+
verbose: 5
|
|
1916
|
+
};
|
|
1917
|
+
/** Built-in levels plus the logger's custom `levelOptions.levels`. */
|
|
1918
|
+
function buildLevelValues(custom) {
|
|
1919
|
+
return new Map([...Object.entries(BUILTIN_LEVEL_VALUES), ...Object.entries(custom ?? {})]);
|
|
1920
|
+
}
|
|
1921
|
+
function lookup(values, level) {
|
|
1922
|
+
return values.get(level) ?? values.get(level.toLowerCase());
|
|
1923
|
+
}
|
|
1924
|
+
/**
|
|
1925
|
+
* Whether an entry at `level` passes a transport's minimum `threshold`, using the
|
|
1926
|
+
* logger's scale (an entry passes when its value is <= the threshold's value).
|
|
1927
|
+
* The logger has already rejected unknown entry levels, so an unknown entry level
|
|
1928
|
+
* or threshold here does not filter.
|
|
1929
|
+
*/
|
|
1930
|
+
function meetsTransportLevel(threshold, level, values) {
|
|
1931
|
+
if (!threshold) return true;
|
|
1932
|
+
const min = lookup(values, threshold);
|
|
1933
|
+
const actual = lookup(values, level);
|
|
1934
|
+
if (min === void 0 || actual === void 0) return true;
|
|
1935
|
+
return actual <= min;
|
|
1936
|
+
}
|
|
1901
1937
|
// src/transports/mixpanel.transport.ts
|
|
1902
1938
|
/**
|
|
1903
1939
|
* Sends log entries as Mixpanel events via the Track and Engage HTTP APIs.
|
|
1904
1940
|
*
|
|
1905
1941
|
* @example
|
|
1906
|
-
*
|
|
1942
|
+
* analytics: { mixpanel: { token: process.env.MIXPANEL_TOKEN } }
|
|
1907
1943
|
*/
|
|
1908
1944
|
var MixpanelTransport = class extends AnalyticsTransport {
|
|
1909
1945
|
constructor(config) {
|
|
@@ -2050,7 +2086,7 @@ const LOGIXIA_VERSION = "1.12.0";
|
|
|
2050
2086
|
* Sends log entries as Segment track/identify events via the HTTP Tracking API.
|
|
2051
2087
|
*
|
|
2052
2088
|
* @example
|
|
2053
|
-
*
|
|
2089
|
+
* analytics: { segment: { writeKey: process.env.SEGMENT_WRITE_KEY } }
|
|
2054
2090
|
*/
|
|
2055
2091
|
var SegmentTransport = class extends AnalyticsTransport {
|
|
2056
2092
|
constructor(config) {
|
|
@@ -2317,13 +2353,19 @@ function _sleep(ms) {
|
|
|
2317
2353
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
2318
2354
|
}
|
|
2319
2355
|
var TransportManager = class extends node_events.EventEmitter {
|
|
2320
|
-
|
|
2356
|
+
/**
|
|
2357
|
+
* @param config Transport configuration.
|
|
2358
|
+
* @param levels The logger's `levelOptions.levels`; used with the built-in levels
|
|
2359
|
+
* to compare entries against each transport's `level`.
|
|
2360
|
+
*/
|
|
2361
|
+
constructor(config = {}, levels) {
|
|
2321
2362
|
super();
|
|
2322
2363
|
this.transports = /* @__PURE__ */ new Map();
|
|
2323
2364
|
this.metrics = /* @__PURE__ */ new Map();
|
|
2324
2365
|
this.isShuttingDown = false;
|
|
2325
2366
|
this.transportLevelPreferences = /* @__PURE__ */ new Map();
|
|
2326
2367
|
this.warnedPromptDeprecated = false;
|
|
2368
|
+
this.levelValues = buildLevelValues(levels);
|
|
2327
2369
|
this.setupTransports(config);
|
|
2328
2370
|
}
|
|
2329
2371
|
setupTransports(config) {
|
|
@@ -2525,19 +2567,7 @@ var TransportManager = class extends node_events.EventEmitter {
|
|
|
2525
2567
|
}
|
|
2526
2568
|
shouldTransportHandle(transport, level, transportId) {
|
|
2527
2569
|
if (transportId && this.transportLevelPreferences.has(transportId)) return this.transportLevelPreferences.get(transportId).includes(level.toLowerCase());
|
|
2528
|
-
|
|
2529
|
-
const levels = [
|
|
2530
|
-
"error",
|
|
2531
|
-
"warn",
|
|
2532
|
-
"info",
|
|
2533
|
-
"debug",
|
|
2534
|
-
"trace",
|
|
2535
|
-
"verbose"
|
|
2536
|
-
];
|
|
2537
|
-
const transportLevelIndex = levels.indexOf(transport.level.toLowerCase());
|
|
2538
|
-
const entryLevelIndex = levels.indexOf(level.toLowerCase());
|
|
2539
|
-
if (transportLevelIndex === -1 || entryLevelIndex === -1) return true;
|
|
2540
|
-
return entryLevelIndex <= transportLevelIndex;
|
|
2570
|
+
return meetsTransportLevel(transport.level, level, this.levelValues);
|
|
2541
2571
|
}
|
|
2542
2572
|
getTransportType(transport) {
|
|
2543
2573
|
if (transport.name === "console") return "console";
|
|
@@ -2660,6 +2690,125 @@ var TransportManager = class extends node_events.EventEmitter {
|
|
|
2660
2690
|
require_internal_log.internalLog("Transport level preferences cleared");
|
|
2661
2691
|
}
|
|
2662
2692
|
};
|
|
2693
|
+
// src/utils/otel.ts
|
|
2694
|
+
/** W3C trace-flags bit 0: the span is sampled (`TraceFlags.SAMPLED` in the OTel API). */
|
|
2695
|
+
const TRACE_FLAG_SAMPLED = 1;
|
|
2696
|
+
let _otelApi;
|
|
2697
|
+
function tryLoadOtelApi() {
|
|
2698
|
+
if (_otelApi !== void 0) return _otelApi;
|
|
2699
|
+
try {
|
|
2700
|
+
_otelApi = require("@opentelemetry/api");
|
|
2701
|
+
return _otelApi;
|
|
2702
|
+
} catch {
|
|
2703
|
+
_otelApi = null;
|
|
2704
|
+
return null;
|
|
2705
|
+
}
|
|
2706
|
+
}
|
|
2707
|
+
/**
|
|
2708
|
+
* Read the currently active OTel span context (if any) and return its fields
|
|
2709
|
+
* in a plain object suitable for spreading into a log entry.
|
|
2710
|
+
*
|
|
2711
|
+
* Returns `undefined` when:
|
|
2712
|
+
* - `@opentelemetry/api` is not installed
|
|
2713
|
+
* - No active span exists (root context)
|
|
2714
|
+
* - The span context is invalid (all-zeros)
|
|
2715
|
+
*/
|
|
2716
|
+
function getActiveOtelContext(opts = {}) {
|
|
2717
|
+
const api = tryLoadOtelApi();
|
|
2718
|
+
if (!api) return void 0;
|
|
2719
|
+
try {
|
|
2720
|
+
const ctx = api.context.active();
|
|
2721
|
+
const sc = api.trace.getSpanContext(ctx);
|
|
2722
|
+
if (!sc || !api.trace.isSpanContextValid(sc)) return void 0;
|
|
2723
|
+
const isSampled = (sc.traceFlags & TRACE_FLAG_SAMPLED) === TRACE_FLAG_SAMPLED;
|
|
2724
|
+
if (opts.sampledOnly && !isSampled) return void 0;
|
|
2725
|
+
return {
|
|
2726
|
+
traceId: sc.traceId,
|
|
2727
|
+
spanId: sc.spanId,
|
|
2728
|
+
traceFlags: sc.traceFlags,
|
|
2729
|
+
isSampled
|
|
2730
|
+
};
|
|
2731
|
+
} catch {
|
|
2732
|
+
return;
|
|
2733
|
+
}
|
|
2734
|
+
}
|
|
2735
|
+
/**
|
|
2736
|
+
* Returns a metadata object with OTel context fields ready to merge into a log call,
|
|
2737
|
+
* using the configured field names.
|
|
2738
|
+
*
|
|
2739
|
+
* Returns `{}` when no active span exists (safe to spread unconditionally).
|
|
2740
|
+
*
|
|
2741
|
+
* @example
|
|
2742
|
+
* ```ts
|
|
2743
|
+
* await logger.info('Payment processed', {
|
|
2744
|
+
* ...getOtelMetaFields(),
|
|
2745
|
+
* orderId: 'ord_123',
|
|
2746
|
+
* });
|
|
2747
|
+
* ```
|
|
2748
|
+
*/
|
|
2749
|
+
function getOtelMetaFields(opts = {}) {
|
|
2750
|
+
const { traceIdField = "traceId", spanIdField = "spanId", traceFlagsField = "traceFlags" } = opts;
|
|
2751
|
+
const ctx = getActiveOtelContext(opts);
|
|
2752
|
+
if (!ctx) return {};
|
|
2753
|
+
return {
|
|
2754
|
+
[traceIdField]: ctx.traceId,
|
|
2755
|
+
[spanIdField]: ctx.spanId,
|
|
2756
|
+
[traceFlagsField]: ctx.traceFlags
|
|
2757
|
+
};
|
|
2758
|
+
}
|
|
2759
|
+
let _bridgeOptions = null;
|
|
2760
|
+
/**
|
|
2761
|
+
* Initialise the global OTel bridge.
|
|
2762
|
+
*
|
|
2763
|
+
* Once called, logixia's internal log pipeline checks for an active OTel span
|
|
2764
|
+
* on **every** log call and automatically merges the span context into the
|
|
2765
|
+
* entry's metadata — no per-call wiring needed.
|
|
2766
|
+
*
|
|
2767
|
+
* Call once at app startup, **after** the OTel SDK has been initialised:
|
|
2768
|
+
* ```ts
|
|
2769
|
+
* import { initOtelBridge } from 'logixia';
|
|
2770
|
+
* initOtelBridge();
|
|
2771
|
+
* ```
|
|
2772
|
+
*/
|
|
2773
|
+
function initOtelBridge(opts = {}) {
|
|
2774
|
+
_bridgeOptions = opts;
|
|
2775
|
+
}
|
|
2776
|
+
/**
|
|
2777
|
+
* @internal
|
|
2778
|
+
* True when initOtelBridge() has been called. Lets the logger hot path skip the
|
|
2779
|
+
* `_getOtelPayloadIfEnabled()` call (and its `{}` allocation + Object.keys) on
|
|
2780
|
+
* every log when the bridge is off — the overwhelmingly common case.
|
|
2781
|
+
*/
|
|
2782
|
+
function _isOtelBridgeEnabled() {
|
|
2783
|
+
return _bridgeOptions !== null;
|
|
2784
|
+
}
|
|
2785
|
+
/**
|
|
2786
|
+
* @internal
|
|
2787
|
+
* Used by the core logger to inject OTel context when the bridge is active.
|
|
2788
|
+
* Returns `{}` when the bridge is not initialised or no active span exists.
|
|
2789
|
+
*/
|
|
2790
|
+
function _getOtelPayloadIfEnabled() {
|
|
2791
|
+
if (!_bridgeOptions) return {};
|
|
2792
|
+
return getOtelMetaFields(_bridgeOptions);
|
|
2793
|
+
}
|
|
2794
|
+
/**
|
|
2795
|
+
* @internal
|
|
2796
|
+
* Payload field names the active bridge writes the trace and span ids to, or
|
|
2797
|
+
* `undefined` when the bridge is not initialised.
|
|
2798
|
+
*/
|
|
2799
|
+
function _getOtelBridgeFieldNames() {
|
|
2800
|
+
if (!_bridgeOptions) return void 0;
|
|
2801
|
+
return {
|
|
2802
|
+
traceIdField: _bridgeOptions.traceIdField ?? "traceId",
|
|
2803
|
+
spanIdField: _bridgeOptions.spanIdField ?? "spanId"
|
|
2804
|
+
};
|
|
2805
|
+
}
|
|
2806
|
+
/**
|
|
2807
|
+
* Disable the OTel bridge (useful for tests).
|
|
2808
|
+
*/
|
|
2809
|
+
function disableOtelBridge() {
|
|
2810
|
+
_bridgeOptions = null;
|
|
2811
|
+
}
|
|
2663
2812
|
Object.defineProperty(exports, "AnalyticsTransport", {
|
|
2664
2813
|
enumerable: true,
|
|
2665
2814
|
get: function() {
|
|
@@ -2720,6 +2869,48 @@ Object.defineProperty(exports, "TransportManager", {
|
|
|
2720
2869
|
return TransportManager;
|
|
2721
2870
|
}
|
|
2722
2871
|
});
|
|
2872
|
+
Object.defineProperty(exports, "_getOtelBridgeFieldNames", {
|
|
2873
|
+
enumerable: true,
|
|
2874
|
+
get: function() {
|
|
2875
|
+
return _getOtelBridgeFieldNames;
|
|
2876
|
+
}
|
|
2877
|
+
});
|
|
2878
|
+
Object.defineProperty(exports, "_getOtelPayloadIfEnabled", {
|
|
2879
|
+
enumerable: true,
|
|
2880
|
+
get: function() {
|
|
2881
|
+
return _getOtelPayloadIfEnabled;
|
|
2882
|
+
}
|
|
2883
|
+
});
|
|
2884
|
+
Object.defineProperty(exports, "_isOtelBridgeEnabled", {
|
|
2885
|
+
enumerable: true,
|
|
2886
|
+
get: function() {
|
|
2887
|
+
return _isOtelBridgeEnabled;
|
|
2888
|
+
}
|
|
2889
|
+
});
|
|
2890
|
+
Object.defineProperty(exports, "disableOtelBridge", {
|
|
2891
|
+
enumerable: true,
|
|
2892
|
+
get: function() {
|
|
2893
|
+
return disableOtelBridge;
|
|
2894
|
+
}
|
|
2895
|
+
});
|
|
2896
|
+
Object.defineProperty(exports, "getActiveOtelContext", {
|
|
2897
|
+
enumerable: true,
|
|
2898
|
+
get: function() {
|
|
2899
|
+
return getActiveOtelContext;
|
|
2900
|
+
}
|
|
2901
|
+
});
|
|
2902
|
+
Object.defineProperty(exports, "getOtelMetaFields", {
|
|
2903
|
+
enumerable: true,
|
|
2904
|
+
get: function() {
|
|
2905
|
+
return getOtelMetaFields;
|
|
2906
|
+
}
|
|
2907
|
+
});
|
|
2908
|
+
Object.defineProperty(exports, "initOtelBridge", {
|
|
2909
|
+
enumerable: true,
|
|
2910
|
+
get: function() {
|
|
2911
|
+
return initOtelBridge;
|
|
2912
|
+
}
|
|
2913
|
+
});
|
|
2723
2914
|
Object.defineProperty(exports, "stripControlChars", {
|
|
2724
2915
|
enumerable: true,
|
|
2725
2916
|
get: function() {
|
|
@@ -2727,4 +2918,4 @@ Object.defineProperty(exports, "stripControlChars", {
|
|
|
2727
2918
|
}
|
|
2728
2919
|
});
|
|
2729
2920
|
|
|
2730
|
-
//# sourceMappingURL=
|
|
2921
|
+
//# sourceMappingURL=otel-ChnVYRLA.js.map
|