logixia 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{async-context-CoPhbRG0.js → async-context-BqjwNzgS.js} +2 -2
- package/dist/{async-context-CoPhbRG0.js.map → async-context-BqjwNzgS.js.map} +1 -1
- package/dist/{async-context-1YMPGgJZ.mjs → async-context-DJdxbbCU.mjs} +2 -2
- package/dist/{async-context-1YMPGgJZ.mjs.map → async-context-DJdxbbCU.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-C5VjvREZ.d.mts → azure-monitor.transport-BZDaQjy8.d.mts} +2 -2
- package/dist/{azure-monitor.transport-C5VjvREZ.d.mts.map → azure-monitor.transport-BZDaQjy8.d.mts.map} +1 -1
- package/dist/{azure-monitor.transport-B_dqSV_o.mjs → azure-monitor.transport-DNccn1vp.mjs} +3 -3
- package/dist/{azure-monitor.transport-B_dqSV_o.mjs.map → azure-monitor.transport-DNccn1vp.mjs.map} +1 -1
- package/dist/{azure-monitor.transport-Bl3xVvpN.js → azure-monitor.transport-DTIgEZwg.js} +3 -3
- package/dist/{azure-monitor.transport-Bl3xVvpN.js.map → azure-monitor.transport-DTIgEZwg.js.map} +1 -1
- package/dist/{azure-monitor.transport-CyHDjHS-.d.ts → azure-monitor.transport-MDigkKsS.d.ts} +2 -2
- package/dist/{azure-monitor.transport-CyHDjHS-.d.ts.map → azure-monitor.transport-MDigkKsS.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-C-ETEX3Y.js → batch-buffer-C6EmQcD5.js} +2 -2
- package/dist/{batch-buffer-C-ETEX3Y.js.map → batch-buffer-C6EmQcD5.js.map} +1 -1
- package/dist/{batch-buffer-BnmVCCwI.mjs → batch-buffer-CcubZ2cW.mjs} +2 -2
- package/dist/{batch-buffer-BnmVCCwI.mjs.map → batch-buffer-CcubZ2cW.mjs.map} +1 -1
- package/dist/browser.js +3 -2
- package/dist/browser.js.map +1 -1
- package/dist/browser.mjs +3 -2
- package/dist/browser.mjs.map +1 -1
- package/dist/{builder-CbttbixM.mjs → builder-CcRxxVwU.mjs} +132 -76
- package/dist/builder-CcRxxVwU.mjs.map +1 -0
- package/dist/{builder-Ck1tsC5d.js → builder-Dm8M1WXD.js} +132 -76
- package/dist/builder-Dm8M1WXD.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-_hS7Mcc5.d.mts → cloudwatch.transport-CqXAGHPH.d.mts} +2 -2
- package/dist/{cloudwatch.transport-_hS7Mcc5.d.mts.map → cloudwatch.transport-CqXAGHPH.d.mts.map} +1 -1
- package/dist/{cloudwatch.transport-DO9e__Z-.js → cloudwatch.transport-DCTWV9p6.js} +3 -3
- package/dist/{cloudwatch.transport-DO9e__Z-.js.map → cloudwatch.transport-DCTWV9p6.js.map} +1 -1
- package/dist/{cloudwatch.transport-DdSjUWvu.d.ts → cloudwatch.transport-pY96iAfO.d.ts} +2 -2
- package/dist/{cloudwatch.transport-DdSjUWvu.d.ts.map → cloudwatch.transport-pY96iAfO.d.ts.map} +1 -1
- package/dist/{cloudwatch.transport-Brh5fmRN.mjs → cloudwatch.transport-wWrht2Gv.mjs} +3 -3
- package/dist/{cloudwatch.transport-Brh5fmRN.mjs.map → cloudwatch.transport-wWrht2Gv.mjs.map} +1 -1
- package/dist/correlation.js +2 -2
- package/dist/correlation.mjs +2 -2
- package/dist/fastify.d.mts +1 -1
- package/dist/fastify.d.ts +1 -1
- package/dist/fastify.js +1 -1
- package/dist/fastify.mjs +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-C8VJiEM7.d.mts → gcp.transport-BFlvl8uy.d.mts} +2 -2
- package/dist/{gcp.transport-C8VJiEM7.d.mts.map → gcp.transport-BFlvl8uy.d.mts.map} +1 -1
- package/dist/{gcp.transport-Ct0BtKFo.d.ts → gcp.transport-Bo60F-_3.d.ts} +2 -2
- package/dist/{gcp.transport-Ct0BtKFo.d.ts.map → gcp.transport-Bo60F-_3.d.ts.map} +1 -1
- package/dist/{gcp.transport-BY1Z3cS0.mjs → gcp.transport-BqzWORwO.mjs} +3 -3
- package/dist/{gcp.transport-BY1Z3cS0.mjs.map → gcp.transport-BqzWORwO.mjs.map} +1 -1
- package/dist/{gcp.transport-V9R4dwdT.js → gcp.transport-BvKR7MIz.js} +3 -3
- package/dist/{gcp.transport-V9R4dwdT.js.map → gcp.transport-BvKR7MIz.js.map} +1 -1
- package/dist/hono.js +1 -1
- package/dist/hono.js.map +1 -1
- package/dist/hono.mjs +1 -1
- package/dist/hono.mjs.map +1 -1
- package/dist/{index-B3ajtXJd.d.mts → index-0X_XpQ_f.d.mts} +2 -2
- package/dist/{index-B3ajtXJd.d.mts.map → index-0X_XpQ_f.d.mts.map} +1 -1
- package/dist/{index-oqD3WNxf.d.ts → index-BnbqeNl6.d.ts} +2 -2
- package/dist/{index-oqD3WNxf.d.ts.map → index-BnbqeNl6.d.ts.map} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- package/dist/index.mjs.map +1 -1
- package/dist/{logitron-logger-fMOkXr8H.d.mts → logixia-logger-DK6oHsmN.d.mts} +12 -4
- package/dist/logixia-logger-DK6oHsmN.d.mts.map +1 -0
- package/dist/{logitron-logger-Csn3e6Qu.d.ts → logixia-logger-DSh5ZUEz.d.ts} +12 -4
- package/dist/logixia-logger-DSh5ZUEz.d.ts.map +1 -0
- package/dist/middleware.d.mts +1 -1
- package/dist/middleware.d.ts +1 -1
- package/dist/middleware.js +1 -1
- package/dist/middleware.mjs +1 -1
- package/dist/nest.d.mts +2 -2
- package/dist/nest.d.mts.map +1 -1
- package/dist/nest.d.ts +2 -2
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js +5 -5
- package/dist/nest.js.map +1 -1
- package/dist/nest.mjs +5 -5
- package/dist/nest.mjs.map +1 -1
- package/dist/{otel-BrgvxLDW.js → otel-BAzbTiJw.js} +5 -7
- package/dist/otel-BAzbTiJw.js.map +1 -0
- package/dist/{otel-C5jBV_l_.mjs → otel-DWVTrsgM.mjs} +5 -7
- package/dist/otel-DWVTrsgM.mjs.map +1 -0
- package/dist/{request-trace-txUhyyre.mjs → request-trace-B-S5-LVk.mjs} +2 -2
- package/dist/request-trace-B-S5-LVk.mjs.map +1 -0
- package/dist/{request-trace-6NBSw5lt.js → request-trace-BqU7ARjg.js} +2 -2
- package/dist/request-trace-BqU7ARjg.js.map +1 -0
- package/dist/{search-BlKBLm5D.d.ts → search-B9fKizkh.d.ts} +2 -2
- package/dist/{search-BlKBLm5D.d.ts.map → search-B9fKizkh.d.ts.map} +1 -1
- package/dist/{search-B-hJe2N-.d.mts → search-CdTwNSQm.d.mts} +2 -2
- package/dist/{search-B-hJe2N-.d.mts.map → search-CdTwNSQm.d.mts.map} +1 -1
- package/dist/search.d.mts +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/{secret-config-Cng7XPLx.mjs → secret-config-BFKJrSYF.mjs} +13 -4
- package/dist/secret-config-BFKJrSYF.mjs.map +1 -0
- package/dist/{secret-config-OqmIPmpV.js → secret-config-DB84lWy4.js} +18 -3
- package/dist/secret-config-DB84lWy4.js.map +1 -0
- package/dist/{slack.transport-Ci0swStG.js → slack.transport-BA97gQ8V.js} +4 -4
- package/dist/{slack.transport-Ci0swStG.js.map → slack.transport-BA97gQ8V.js.map} +1 -1
- package/dist/{slack.transport-C6dzPJHX.mjs → slack.transport-CrRlsrs5.mjs} +4 -4
- package/dist/{slack.transport-C6dzPJHX.mjs.map → slack.transport-CrRlsrs5.mjs.map} +1 -1
- package/dist/{slack.transport-5OPL7H3u.d.mts → slack.transport-DAGuMvm7.d.mts} +2 -2
- package/dist/{slack.transport-5OPL7H3u.d.mts.map → slack.transport-DAGuMvm7.d.mts.map} +1 -1
- package/dist/{slack.transport-BFpBD_Ri.d.ts → slack.transport-LvYsOoFZ.d.ts} +2 -2
- package/dist/{slack.transport-BFpBD_Ri.d.ts.map → slack.transport-LvYsOoFZ.d.ts.map} +1 -1
- package/dist/testing.d.mts +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/{transport.types-B1ejJJP6.d.mts → transport.types-MjMDjOQ7.d.mts} +6 -1
- package/dist/{transport.types-B1ejJJP6.d.mts.map → transport.types-MjMDjOQ7.d.mts.map} +1 -1
- package/dist/{transport.types-B1ejJJP6.d.ts → transport.types-MjMDjOQ7.d.ts} +6 -1
- package/dist/{transport.types-B1ejJJP6.d.ts.map → transport.types-MjMDjOQ7.d.ts.map} +1 -1
- package/dist/transports.d.mts +8 -10
- package/dist/transports.d.mts.map +1 -1
- package/dist/transports.d.ts +8 -10
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +6 -6
- package/dist/transports.mjs +6 -6
- package/dist/worker-entry.js +3 -2
- 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-CxFD8mvS.mjs → worker.transport-BN0BmxOr.mjs} +2 -2
- package/dist/{worker.transport-CxFD8mvS.mjs.map → worker.transport-BN0BmxOr.mjs.map} +1 -1
- package/dist/{worker.transport-B7olL1Uh.d.ts → worker.transport-ByBBDx7U.d.ts} +2 -2
- package/dist/{worker.transport-B7olL1Uh.d.ts.map → worker.transport-ByBBDx7U.d.ts.map} +1 -1
- package/dist/{worker.transport-CZOutlxC.js → worker.transport-CaVYRowu.js} +2 -2
- package/dist/{worker.transport-CZOutlxC.js.map → worker.transport-CaVYRowu.js.map} +1 -1
- package/dist/{worker.transport-DnU0_9Bd.d.mts → worker.transport-DWyyRVJW.d.mts} +2 -2
- package/dist/{worker.transport-DnU0_9Bd.d.mts.map → worker.transport-DWyyRVJW.d.mts.map} +1 -1
- package/package.json +1 -1
- package/dist/builder-CbttbixM.mjs.map +0 -1
- package/dist/builder-Ck1tsC5d.js.map +0 -1
- package/dist/logitron-logger-Csn3e6Qu.d.ts.map +0 -1
- package/dist/logitron-logger-fMOkXr8H.d.mts.map +0 -1
- package/dist/otel-BrgvxLDW.js.map +0 -1
- package/dist/otel-C5jBV_l_.mjs.map +0 -1
- package/dist/request-trace-6NBSw5lt.js.map +0 -1
- package/dist/request-trace-txUhyyre.mjs.map +0 -1
- package/dist/secret-config-Cng7XPLx.mjs.map +0 -1
- package/dist/secret-config-OqmIPmpV.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
const require_secret_config = require("./secret-config-
|
|
1
|
+
const require_secret_config = require("./secret-config-DB84lWy4.js");
|
|
2
2
|
const require_own_property = require("./own-property-BWkibepN.js");
|
|
3
|
-
const require_request_trace = require("./request-trace-
|
|
4
|
-
const require_async_context = require("./async-context-
|
|
3
|
+
const require_request_trace = require("./request-trace-BqU7ARjg.js");
|
|
4
|
+
const require_async_context = require("./async-context-BqjwNzgS.js");
|
|
5
5
|
const require_sensitive_names = require("./sensitive-names-NiKIRhp5.js");
|
|
6
6
|
const require_internal_log = require("./internal-log-DwqTjhpb.js");
|
|
7
7
|
const require_safe_stringify = require("./safe-stringify-J3sh-7YM.js");
|
|
8
8
|
const require_csv_utils = require("./csv.utils-CbVHY1pd.js");
|
|
9
|
-
const require_otel = require("./otel-
|
|
9
|
+
const require_otel = require("./otel-BAzbTiJw.js");
|
|
10
10
|
const require_error_utils = require("./error.utils-fZkRExam.js");
|
|
11
11
|
let node_os = require("node:os");
|
|
12
12
|
// src/types/index.ts
|
|
@@ -918,7 +918,7 @@ function warnOnReservedLevelNames(levels) {
|
|
|
918
918
|
if (clashes.length > 0) require_internal_log.internalWarn(`levelOptions.levels uses reserved logger method name(s): ${clashes.join(", ")}. No level shortcut is created for them; use logger.logLevel(name, ...) or rename the level.`);
|
|
919
919
|
return clashes;
|
|
920
920
|
}
|
|
921
|
-
// src/core/
|
|
921
|
+
// src/core/logixia-logger.ts
|
|
922
922
|
/**
|
|
923
923
|
* Core Logixia Logger implementation
|
|
924
924
|
*
|
|
@@ -941,6 +941,7 @@ function nowIso() {
|
|
|
941
941
|
}
|
|
942
942
|
const RESOLVED = Promise.resolve();
|
|
943
943
|
const UNSERIALIZABLE = "[Unserializable]";
|
|
944
|
+
const CONFIGS = /* @__PURE__ */ new WeakMap();
|
|
944
945
|
const ANSI_COLORS = /* @__PURE__ */ new Map([
|
|
945
946
|
["black", "\x1B[30m"],
|
|
946
947
|
["red", "\x1B[31m"],
|
|
@@ -1018,6 +1019,16 @@ function namespacePatternToRegex(pattern) {
|
|
|
1018
1019
|
}
|
|
1019
1020
|
/** Max compiled patterns to keep in memory. Oldest entry is evicted when full. */
|
|
1020
1021
|
const _NS_CACHE_MAX = 1e3;
|
|
1022
|
+
const _nsEnvNames = /* @__PURE__ */ new Map();
|
|
1023
|
+
function nsEnvName(ns) {
|
|
1024
|
+
let name = _nsEnvNames.get(ns);
|
|
1025
|
+
if (name === void 0) {
|
|
1026
|
+
name = `LOGIXIA_LEVEL_${ns.split(".")[0].toUpperCase()}`;
|
|
1027
|
+
if (_nsEnvNames.size >= _NS_CACHE_MAX) _nsEnvNames.clear();
|
|
1028
|
+
_nsEnvNames.set(ns, name);
|
|
1029
|
+
}
|
|
1030
|
+
return name;
|
|
1031
|
+
}
|
|
1021
1032
|
const _nsPatternCache = /* @__PURE__ */ new Map();
|
|
1022
1033
|
/**
|
|
1023
1034
|
* One-shot warning so operators notice runaway pattern growth.
|
|
@@ -1080,40 +1091,51 @@ function resolveInitialLevel(config) {
|
|
|
1080
1091
|
* ```
|
|
1081
1092
|
*/
|
|
1082
1093
|
var LogixiaLogger = class LogixiaLogger {
|
|
1083
|
-
config
|
|
1094
|
+
get config() {
|
|
1095
|
+
return CONFIGS.get(this);
|
|
1096
|
+
}
|
|
1097
|
+
set config(value) {
|
|
1098
|
+
CONFIGS.set(this, value);
|
|
1099
|
+
}
|
|
1084
1100
|
context;
|
|
1085
|
-
|
|
1101
|
+
/** Created by the first time() call. */
|
|
1102
|
+
timers;
|
|
1086
1103
|
contextData = {};
|
|
1087
1104
|
transportManager;
|
|
1088
|
-
|
|
1105
|
+
/** Runtime field overrides; created by the first enableField() / disableField(). */
|
|
1106
|
+
fieldState;
|
|
1089
1107
|
/** Stable fallback trace ID generated ONCE per logger instance. */
|
|
1090
1108
|
fallbackTraceId = require_request_trace.TraceContext.instance.generate();
|
|
1091
1109
|
/** Numeric value for each known log level — built once, read on every log call. */
|
|
1092
|
-
_levelValues
|
|
1110
|
+
_levelValues;
|
|
1093
1111
|
/** Numeric threshold for the currently active log level. */
|
|
1094
1112
|
_minLevelValue = 2;
|
|
1095
1113
|
/** Level set via setLevel(); outranks every other level source until the process ends. */
|
|
1096
1114
|
_runtimeLevel;
|
|
1097
1115
|
/** `source=value` pairs already reported as unknown levels — warn once per logger. */
|
|
1098
|
-
_warnedInvalidLevels
|
|
1116
|
+
_warnedInvalidLevels;
|
|
1099
1117
|
/** Pre-built ANSI color codes to avoid recreating the object in colorize(). */
|
|
1100
1118
|
_colorMap = ANSI_COLORS;
|
|
1101
1119
|
/** Pre-computed field-enabled booleans so isFieldEnabled() isn't called per log. */
|
|
1102
|
-
_fieldCache
|
|
1120
|
+
_fieldCache;
|
|
1121
|
+
/** False while _fieldCache is still the parent's map; it is copied before the first write. */
|
|
1122
|
+
_ownsFieldCache = false;
|
|
1103
1123
|
/** True when contextData is non-empty — avoids Object.keys() check on hot path. */
|
|
1104
1124
|
_hasContextData = false;
|
|
1105
1125
|
/**
|
|
1106
1126
|
* Pre-computed `[INFO] `, `[WARN] ` etc. strings — avoids a colorize() call per log.
|
|
1107
1127
|
* Key: lowercase level name. Value: formatted bracket string ready to concatenate.
|
|
1108
1128
|
*/
|
|
1109
|
-
_formattedLevels
|
|
1129
|
+
_formattedLevels;
|
|
1110
1130
|
/** Pre-computed `[appName] ` string — avoids template literal allocation per log. */
|
|
1111
1131
|
_formattedAppName = "";
|
|
1112
1132
|
/**
|
|
1113
1133
|
* JSON line pieces between the timestamp and the message, keyed by level, for the
|
|
1114
1134
|
* appName and environment they were built from. Rebuilt when either changes.
|
|
1115
1135
|
*/
|
|
1116
|
-
_jsonHeads
|
|
1136
|
+
_jsonHeads;
|
|
1137
|
+
/** Custom level shortcuts as [method, level] pairs; a child reuses its parent's list. */
|
|
1138
|
+
_levelMethods;
|
|
1117
1139
|
_jsonHeadsApp = "";
|
|
1118
1140
|
_jsonHeadsEnv = "";
|
|
1119
1141
|
/** The `,"context":"..."` piece for `_jsonContextKey`. */
|
|
@@ -1139,41 +1161,41 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1139
1161
|
};
|
|
1140
1162
|
this._nsSeenVersion = this._nsStore.version;
|
|
1141
1163
|
this._pluginRegistry = parent ? parent._pluginRegistry : new PluginRegistry();
|
|
1142
|
-
const defaultConfig = {
|
|
1143
|
-
appName: "App",
|
|
1144
|
-
environment: "development",
|
|
1145
|
-
traceId: true,
|
|
1146
|
-
format: {
|
|
1147
|
-
timestamp: true,
|
|
1148
|
-
colorize: true,
|
|
1149
|
-
json: false
|
|
1150
|
-
},
|
|
1151
|
-
silent: false,
|
|
1152
|
-
levelOptions: {
|
|
1153
|
-
level: LogLevel.INFO,
|
|
1154
|
-
levels: {
|
|
1155
|
-
[LogLevel.ERROR]: 0,
|
|
1156
|
-
[LogLevel.WARN]: 1,
|
|
1157
|
-
[LogLevel.INFO]: 2,
|
|
1158
|
-
[LogLevel.DEBUG]: 3,
|
|
1159
|
-
[LogLevel.TRACE]: 4,
|
|
1160
|
-
[LogLevel.VERBOSE]: 5
|
|
1161
|
-
},
|
|
1162
|
-
colors: {
|
|
1163
|
-
[LogLevel.ERROR]: "red",
|
|
1164
|
-
[LogLevel.WARN]: "yellow",
|
|
1165
|
-
[LogLevel.INFO]: "blue",
|
|
1166
|
-
[LogLevel.DEBUG]: "green",
|
|
1167
|
-
[LogLevel.TRACE]: "gray",
|
|
1168
|
-
[LogLevel.VERBOSE]: "cyan"
|
|
1169
|
-
}
|
|
1170
|
-
}
|
|
1171
|
-
};
|
|
1172
1164
|
if (parent) this.config = {
|
|
1173
1165
|
...config,
|
|
1174
1166
|
levelOptions: { ...config.levelOptions }
|
|
1175
1167
|
};
|
|
1176
1168
|
else {
|
|
1169
|
+
const defaultConfig = {
|
|
1170
|
+
appName: "App",
|
|
1171
|
+
environment: "development",
|
|
1172
|
+
traceId: true,
|
|
1173
|
+
format: {
|
|
1174
|
+
timestamp: true,
|
|
1175
|
+
colorize: true,
|
|
1176
|
+
json: false
|
|
1177
|
+
},
|
|
1178
|
+
silent: false,
|
|
1179
|
+
levelOptions: {
|
|
1180
|
+
level: LogLevel.INFO,
|
|
1181
|
+
levels: {
|
|
1182
|
+
[LogLevel.ERROR]: 0,
|
|
1183
|
+
[LogLevel.WARN]: 1,
|
|
1184
|
+
[LogLevel.INFO]: 2,
|
|
1185
|
+
[LogLevel.DEBUG]: 3,
|
|
1186
|
+
[LogLevel.TRACE]: 4,
|
|
1187
|
+
[LogLevel.VERBOSE]: 5
|
|
1188
|
+
},
|
|
1189
|
+
colors: {
|
|
1190
|
+
[LogLevel.ERROR]: "red",
|
|
1191
|
+
[LogLevel.WARN]: "yellow",
|
|
1192
|
+
[LogLevel.INFO]: "blue",
|
|
1193
|
+
[LogLevel.DEBUG]: "green",
|
|
1194
|
+
[LogLevel.TRACE]: "gray",
|
|
1195
|
+
[LogLevel.VERBOSE]: "cyan"
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
};
|
|
1177
1199
|
this.config = {
|
|
1178
1200
|
...defaultConfig,
|
|
1179
1201
|
...config
|
|
@@ -1194,7 +1216,6 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1194
1216
|
timeTaken: "[time_taken_MS]"
|
|
1195
1217
|
};
|
|
1196
1218
|
this.context = toContextLabel(context);
|
|
1197
|
-
require_secret_config.protectSecrets(this, ["config"]);
|
|
1198
1219
|
if (parent) {
|
|
1199
1220
|
this.transportManager = parent.transportManager;
|
|
1200
1221
|
this._sampler = parent._sampler;
|
|
@@ -1216,7 +1237,7 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1216
1237
|
}) + "\n");
|
|
1217
1238
|
});
|
|
1218
1239
|
if (!parent) this.setupGracefulShutdown();
|
|
1219
|
-
this.createCustomLevelMethods();
|
|
1240
|
+
this.createCustomLevelMethods(parent);
|
|
1220
1241
|
if (!parent) for (const p of globalPluginRegistry._plugins) this._pluginRegistry.register(p);
|
|
1221
1242
|
this._buildPerfCaches(parent);
|
|
1222
1243
|
}
|
|
@@ -1232,28 +1253,39 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1232
1253
|
...normalized.exit ? { exit: normalized.exit } : {}
|
|
1233
1254
|
});
|
|
1234
1255
|
}
|
|
1235
|
-
createCustomLevelMethods() {
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1256
|
+
createCustomLevelMethods(parent) {
|
|
1257
|
+
if (parent) this._levelMethods = parent._levelMethods;
|
|
1258
|
+
else {
|
|
1259
|
+
var _this$config$levelOpt3;
|
|
1260
|
+
const levels = (_this$config$levelOpt3 = this.config.levelOptions) === null || _this$config$levelOpt3 === void 0 ? void 0 : _this$config$levelOpt3.levels;
|
|
1261
|
+
warnOnReservedLevelNames(levels);
|
|
1262
|
+
const names = Object.keys(levels ?? {});
|
|
1263
|
+
const methods = [];
|
|
1264
|
+
const taken = /* @__PURE__ */ new Set();
|
|
1265
|
+
const candidates = [...names.map((name) => [name, name]), ...names.map((name) => [name.toLowerCase(), name])];
|
|
1266
|
+
for (const [method, levelName] of candidates) {
|
|
1267
|
+
if (method in this || taken.has(method)) continue;
|
|
1268
|
+
taken.add(method);
|
|
1269
|
+
methods.push([method, levelName]);
|
|
1270
|
+
}
|
|
1271
|
+
this._levelMethods = methods;
|
|
1272
|
+
}
|
|
1240
1273
|
const self = this;
|
|
1241
|
-
const
|
|
1242
|
-
const define = (method, levelName) => {
|
|
1243
|
-
if (!self[method]) self[method] = (message, data) => this.logLevel(levelName, message, data);
|
|
1244
|
-
};
|
|
1245
|
-
for (const levelName of names) define(levelName, levelName);
|
|
1246
|
-
for (const levelName of names) define(levelName.toLowerCase(), levelName);
|
|
1274
|
+
for (const [method, levelName] of this._levelMethods) self[method] = (message, data) => this.logLevel(levelName, message, data);
|
|
1247
1275
|
}
|
|
1248
1276
|
/**
|
|
1249
1277
|
* Rebuild all hot-path caches after any config mutation or level change.
|
|
1250
1278
|
* Keeps the actual log() call free of allocations in the common case.
|
|
1251
1279
|
*/
|
|
1252
1280
|
_buildPerfCaches(inheritFrom) {
|
|
1253
|
-
var _this$config$levelOpt4, _this$config$format, _this$config$redact$p, _this$config$redact$p2;
|
|
1254
|
-
if (inheritFrom && inheritFrom.fieldState
|
|
1281
|
+
var _inheritFrom$fieldSta, _this$config$levelOpt4, _this$config$format, _this$config$redact$p, _this$config$redact$p2;
|
|
1282
|
+
if (inheritFrom && !((_inheritFrom$fieldSta = inheritFrom.fieldState) === null || _inheritFrom$fieldSta === void 0 ? void 0 : _inheritFrom$fieldSta.size)) {
|
|
1255
1283
|
this._levelValues = inheritFrom._levelValues;
|
|
1256
|
-
this._fieldCache =
|
|
1284
|
+
this._fieldCache = inheritFrom._fieldCache;
|
|
1285
|
+
inheritFrom._ownsFieldCache = false;
|
|
1286
|
+
this._jsonHeads = inheritFrom._jsonHeads;
|
|
1287
|
+
this._jsonHeadsApp = inheritFrom._jsonHeadsApp;
|
|
1288
|
+
this._jsonHeadsEnv = inheritFrom._jsonHeadsEnv;
|
|
1257
1289
|
this._formattedLevels = inheritFrom._formattedLevels;
|
|
1258
1290
|
this._formattedAppName = inheritFrom._formattedAppName;
|
|
1259
1291
|
this._hasRedact = inheritFrom._hasRedact;
|
|
@@ -1275,6 +1307,8 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1275
1307
|
const effectiveLevel = this.resolveEffectiveLevel();
|
|
1276
1308
|
this._minLevelValue = this._levelValues.get(effectiveLevel) ?? 2;
|
|
1277
1309
|
this._colorMap = ANSI_COLORS;
|
|
1310
|
+
const fieldCache = this._writableFieldCache();
|
|
1311
|
+
this._jsonHeads ??= /* @__PURE__ */ new Map();
|
|
1278
1312
|
for (const f of [
|
|
1279
1313
|
"timestamp",
|
|
1280
1314
|
"level",
|
|
@@ -1284,10 +1318,11 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1284
1318
|
"message",
|
|
1285
1319
|
"payload"
|
|
1286
1320
|
]) {
|
|
1287
|
-
var _this$config$fields;
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
else
|
|
1321
|
+
var _this$fieldState, _this$config$fields;
|
|
1322
|
+
const own = (_this$fieldState = this.fieldState) === null || _this$fieldState === void 0 ? void 0 : _this$fieldState.get(f);
|
|
1323
|
+
if (own !== void 0) fieldCache.set(f, own);
|
|
1324
|
+
else if (((_this$config$fields = this.config.fields) === null || _this$config$fields === void 0 ? void 0 : _this$config$fields[f]) === void 0) fieldCache.set(f, true);
|
|
1325
|
+
else fieldCache.set(f, this.config.fields[f] !== false);
|
|
1291
1326
|
}
|
|
1292
1327
|
const colorize = ((_this$config$format = this.config.format) === null || _this$config$format === void 0 ? void 0 : _this$config$format.colorize) ?? true;
|
|
1293
1328
|
this._formattedLevels = /* @__PURE__ */ new Map();
|
|
@@ -1329,6 +1364,13 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1329
1364
|
else this._formattedAppName = colorize ? `${this._colorMap.get("gray")}${appNameRaw}${this._colorMap.get("reset")} ` : `${appNameRaw} `;
|
|
1330
1365
|
this._hasRedact = !!(this.config.redact && ((((_this$config$redact$p = this.config.redact.paths) === null || _this$config$redact$p === void 0 ? void 0 : _this$config$redact$p.length) ?? 0) > 0 || (((_this$config$redact$p2 = this.config.redact.patterns) === null || _this$config$redact$p2 === void 0 ? void 0 : _this$config$redact$p2.length) ?? 0) > 0 || !!this.config.redact.autoDetect));
|
|
1331
1366
|
}
|
|
1367
|
+
_writableFieldCache() {
|
|
1368
|
+
if (!this._ownsFieldCache) {
|
|
1369
|
+
this._fieldCache = new Map(this._fieldCache);
|
|
1370
|
+
this._ownsFieldCache = true;
|
|
1371
|
+
}
|
|
1372
|
+
return this._fieldCache;
|
|
1373
|
+
}
|
|
1332
1374
|
/**
|
|
1333
1375
|
* Log at `error` level. An `Error` is logged with its message and serialized
|
|
1334
1376
|
* (name, message, stack) under `data.error`; a string is logged as-is.
|
|
@@ -1384,6 +1426,7 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1384
1426
|
}
|
|
1385
1427
|
/** Start a named timer; finish it with {@link timeEnd}. Reusing a label restarts it. */
|
|
1386
1428
|
time(label) {
|
|
1429
|
+
this.timers ??= /* @__PURE__ */ new Map();
|
|
1387
1430
|
this.timers.set(label, {
|
|
1388
1431
|
label,
|
|
1389
1432
|
startTime: Date.now()
|
|
@@ -1402,7 +1445,8 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1402
1445
|
* ```
|
|
1403
1446
|
*/
|
|
1404
1447
|
async timeEnd(label) {
|
|
1405
|
-
|
|
1448
|
+
var _this$timers, _this$timers2;
|
|
1449
|
+
const timer = (_this$timers = this.timers) === null || _this$timers === void 0 ? void 0 : _this$timers.get(label);
|
|
1406
1450
|
if (!timer) {
|
|
1407
1451
|
await this.warn(`Timer '${label}' does not exist`);
|
|
1408
1452
|
return;
|
|
@@ -1416,7 +1460,7 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1416
1460
|
startTime: new Date(timer.startTime).toISOString(),
|
|
1417
1461
|
endTime: new Date(endTime).toISOString()
|
|
1418
1462
|
});
|
|
1419
|
-
this.timers.delete(label);
|
|
1463
|
+
(_this$timers2 = this.timers) === null || _this$timers2 === void 0 || _this$timers2.delete(label);
|
|
1420
1464
|
return duration;
|
|
1421
1465
|
}
|
|
1422
1466
|
async timeAsync(label, fn) {
|
|
@@ -1473,6 +1517,7 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1473
1517
|
const canonical = canonicalLevel(level, this._levelValues);
|
|
1474
1518
|
if (canonical === void 0) {
|
|
1475
1519
|
const key = `${source}=${String(level)}`;
|
|
1520
|
+
this._warnedInvalidLevels ??= /* @__PURE__ */ new Set();
|
|
1476
1521
|
if (!this._warnedInvalidLevels.has(key)) {
|
|
1477
1522
|
this._warnedInvalidLevels.add(key);
|
|
1478
1523
|
require_internal_log.internalWarn(`Unknown log level '${String(level)}' from ${source}; valid levels: ${this._validLevelList()}. Falling back to the next level source (default '${LogLevel.INFO}').`);
|
|
@@ -1531,22 +1576,25 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1531
1576
|
}
|
|
1532
1577
|
/** Show `fieldName` in log output, overriding the config for this logger instance. */
|
|
1533
1578
|
enableField(fieldName) {
|
|
1579
|
+
this.fieldState ??= /* @__PURE__ */ new Map();
|
|
1534
1580
|
this.fieldState.set(fieldName, true);
|
|
1535
|
-
this.
|
|
1581
|
+
this._writableFieldCache().set(fieldName, true);
|
|
1536
1582
|
if (fieldName === "level" || fieldName === "appName") this._buildPerfCaches();
|
|
1537
1583
|
require_internal_log.internalLog(`Field '${fieldName}' enabled`);
|
|
1538
1584
|
}
|
|
1539
1585
|
/** Hide `fieldName` from log output, overriding the config for this logger instance. */
|
|
1540
1586
|
disableField(fieldName) {
|
|
1587
|
+
this.fieldState ??= /* @__PURE__ */ new Map();
|
|
1541
1588
|
this.fieldState.set(fieldName, false);
|
|
1542
|
-
this.
|
|
1589
|
+
this._writableFieldCache().set(fieldName, false);
|
|
1543
1590
|
if (fieldName === "level" || fieldName === "appName") this._buildPerfCaches();
|
|
1544
1591
|
require_internal_log.internalLog(`Field '${fieldName}' disabled`);
|
|
1545
1592
|
}
|
|
1546
1593
|
/** Whether `fieldName` is currently shown: runtime override first, then config, default `true`. */
|
|
1547
1594
|
isFieldEnabled(fieldName) {
|
|
1548
|
-
var _this$config$fields2;
|
|
1549
|
-
|
|
1595
|
+
var _this$fieldState2, _this$config$fields2;
|
|
1596
|
+
const own = (_this$fieldState2 = this.fieldState) === null || _this$fieldState2 === void 0 ? void 0 : _this$fieldState2.get(fieldName);
|
|
1597
|
+
if (own !== void 0) return own;
|
|
1550
1598
|
if (((_this$config$fields2 = this.config.fields) === null || _this$config$fields2 === void 0 ? void 0 : _this$config$fields2[fieldName]) !== void 0) return this.config.fields[fieldName] !== false;
|
|
1551
1599
|
return true;
|
|
1552
1600
|
}
|
|
@@ -1569,7 +1617,8 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1569
1617
|
}
|
|
1570
1618
|
/** Drop all runtime enable/disable overrides so field visibility follows the config again. */
|
|
1571
1619
|
resetFieldState() {
|
|
1572
|
-
|
|
1620
|
+
var _this$fieldState3;
|
|
1621
|
+
(_this$fieldState3 = this.fieldState) === null || _this$fieldState3 === void 0 || _this$fieldState3.clear();
|
|
1573
1622
|
require_internal_log.internalLog("Field state reset to configuration defaults");
|
|
1574
1623
|
}
|
|
1575
1624
|
/** @deprecated No-op. Library code never prompts on stdin; use setTransportLevels(). */
|
|
@@ -1675,12 +1724,12 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1675
1724
|
* ```
|
|
1676
1725
|
*/
|
|
1677
1726
|
async close() {
|
|
1678
|
-
var _this$_sampler;
|
|
1679
|
-
for (const [label, timer] of this.timers) await this.warn(`Timer '${label}' was not ended properly`, {
|
|
1727
|
+
var _this$timers3, _this$_sampler;
|
|
1728
|
+
for (const [label, timer] of this.timers ?? []) await this.warn(`Timer '${label}' was not ended properly`, {
|
|
1680
1729
|
startTime: new Date(timer.startTime).toISOString(),
|
|
1681
1730
|
duration: `${Date.now() - timer.startTime}ms (incomplete)`
|
|
1682
1731
|
});
|
|
1683
|
-
this.timers.clear();
|
|
1732
|
+
(_this$timers3 = this.timers) === null || _this$timers3 === void 0 || _this$timers3.clear();
|
|
1684
1733
|
if (this._parent) return;
|
|
1685
1734
|
if (this.transportManager) await this.transportManager.close();
|
|
1686
1735
|
(_this$_sampler = this._sampler) === null || _this$_sampler === void 0 || _this$_sampler.destroy();
|
|
@@ -1786,8 +1835,8 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1786
1835
|
if (this._runtimeLevel) return this._runtimeLevel;
|
|
1787
1836
|
const ns = this.context;
|
|
1788
1837
|
if (ns) {
|
|
1789
|
-
const
|
|
1790
|
-
const envNsLevel = this._validLevel(process.env[
|
|
1838
|
+
const envName = nsEnvName(ns);
|
|
1839
|
+
const envNsLevel = this._validLevel(process.env[envName], envName);
|
|
1791
1840
|
if (envNsLevel) return envNsLevel;
|
|
1792
1841
|
const namespaceLevels = this._nsStore.levels;
|
|
1793
1842
|
if (Object.keys(namespaceLevels).length > 0) {
|
|
@@ -1902,6 +1951,13 @@ var LogixiaLogger = class LogixiaLogger {
|
|
|
1902
1951
|
(level === LogLevel.ERROR ? process.stderr : process.stdout).write(this.formatLog(entry) + "\n");
|
|
1903
1952
|
}
|
|
1904
1953
|
};
|
|
1954
|
+
function loggerView() {
|
|
1955
|
+
return require_secret_config.redactedView(this, /* @__PURE__ */ new Map([["config", CONFIGS.get(this)]]));
|
|
1956
|
+
}
|
|
1957
|
+
for (const key of ["toJSON", Symbol.for("nodejs.util.inspect.custom")]) Object.defineProperty(LogixiaLogger.prototype, key, {
|
|
1958
|
+
value: loggerView,
|
|
1959
|
+
configurable: true
|
|
1960
|
+
});
|
|
1905
1961
|
/**
|
|
1906
1962
|
* Create a logger from `config`, with an optional default `context` label.
|
|
1907
1963
|
*
|
|
@@ -2287,4 +2343,4 @@ Object.defineProperty(exports, "usePlugin", {
|
|
|
2287
2343
|
}
|
|
2288
2344
|
});
|
|
2289
2345
|
|
|
2290
|
-
//# sourceMappingURL=builder-
|
|
2346
|
+
//# sourceMappingURL=builder-Dm8M1WXD.js.map
|