logixia 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +61 -39
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{index-CSFeEGLb.d.ts → index-CwFww7VC.d.ts} +15 -1
  4. package/dist/index-CwFww7VC.d.ts.map +1 -0
  5. package/dist/{index-Cw-sN_0_.d.mts → index-DnyeaoZU.d.mts} +15 -1
  6. package/dist/index-DnyeaoZU.d.mts.map +1 -0
  7. package/dist/index.d.mts +2 -2
  8. package/dist/index.d.mts.map +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/index.mjs +2 -2
  13. package/dist/{logitron-logger.module-QYBy_Kkq.mjs → logitron-logger.module-BIGTm2V6.mjs} +73 -40
  14. package/dist/logitron-logger.module-BIGTm2V6.mjs.map +1 -0
  15. package/dist/{logitron-logger.module-DGwNfjBX.d.mts → logitron-logger.module-BLPFKbSa.d.mts} +14 -4
  16. package/dist/logitron-logger.module-BLPFKbSa.d.mts.map +1 -0
  17. package/dist/{logitron-logger.module-DfyBsT_K.d.ts → logitron-logger.module-BRXjlbAx.d.ts} +14 -4
  18. package/dist/logitron-logger.module-BRXjlbAx.d.ts.map +1 -0
  19. package/dist/{logitron-logger.module-DHFampon.js → logitron-logger.module-BTxDpK6u.js} +73 -40
  20. package/dist/logitron-logger.module-BTxDpK6u.js.map +1 -0
  21. package/dist/middleware.d.mts +1 -1
  22. package/dist/middleware.d.ts +1 -1
  23. package/dist/middleware.js.map +1 -1
  24. package/dist/middleware.mjs.map +1 -1
  25. package/dist/nest.d.mts +2 -2
  26. package/dist/nest.d.ts +2 -2
  27. package/dist/nest.js +2 -2
  28. package/dist/nest.mjs +2 -2
  29. package/dist/testing.d.mts +1 -1
  30. package/dist/testing.d.ts +1 -1
  31. package/dist/{transport.manager-Cij_sA-b.mjs → transport.manager-DETpXuaY.mjs} +56 -13
  32. package/dist/transport.manager-DETpXuaY.mjs.map +1 -0
  33. package/dist/{transport.manager-B9LF9uDd.js → transport.manager-ciG4r5uz.js} +56 -13
  34. package/dist/transport.manager-ciG4r5uz.js.map +1 -0
  35. package/dist/transports.d.mts +15 -3
  36. package/dist/transports.d.mts.map +1 -1
  37. package/dist/transports.d.ts +15 -3
  38. package/dist/transports.d.ts.map +1 -1
  39. package/dist/transports.js +1 -1
  40. package/dist/transports.mjs +1 -1
  41. package/package.json +45 -5
  42. package/dist/index-CSFeEGLb.d.ts.map +0 -1
  43. package/dist/index-Cw-sN_0_.d.mts.map +0 -1
  44. package/dist/logitron-logger.module-DGwNfjBX.d.mts.map +0 -1
  45. package/dist/logitron-logger.module-DHFampon.js.map +0 -1
  46. package/dist/logitron-logger.module-DfyBsT_K.d.ts.map +0 -1
  47. package/dist/logitron-logger.module-QYBy_Kkq.mjs.map +0 -1
  48. package/dist/transport.manager-B9LF9uDd.js.map +0 -1
  49. package/dist/transport.manager-Cij_sA-b.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { E as TraceIdConfig, b as LoggerWithLevels, f as ILogger, h as LogEntry, p as ILoggerDefault, v as LogLevelString, x as NamespaceLevels, y as LoggerConfig } from "./index-CSFeEGLb.js";
1
+ import { E as TraceIdConfig, b as LoggerWithLevels, f as ILogger, h as LogEntry, p as ILoggerDefault, v as LogLevelString, x as NamespaceLevels, y as LoggerConfig } from "./index-CwFww7VC.js";
2
2
  import * as _nestjs_common0 from "@nestjs/common";
3
3
  import { CallHandler, ExecutionContext, InjectionToken, LoggerService, MiddlewareConsumer, ModuleMetadata, NestInterceptor, NestModule, OptionalFactoryDependency, Type } from "@nestjs/common";
4
4
  import { Observable } from "rxjs";
@@ -230,7 +230,17 @@ declare class LogixiaLogger<TConfig extends LoggerConfig<Record<string, number>>
230
230
  private resolveEffectiveLevel;
231
231
  private formatLog;
232
232
  private colorize;
233
+ /**
234
+ * Dispatch the entry to transports (each formats itself). Returns `void` when
235
+ * the write completes synchronously (console-only hot path) and a Promise only
236
+ * when a transport is genuinely async — so the caller awaits only when needed.
237
+ * Formatting for the no-transport fallback is done lazily, never on the
238
+ * transport path.
239
+ */
233
240
  private output;
241
+ /** Shared transport-failure handler: log internally, notify plugins, then fall
242
+ * back to a direct stdout/stderr write so the entry is never lost. */
243
+ private _handleOutputError;
234
244
  }
235
245
  declare function createLogger<T extends LoggerConfig<Record<string, number>>>(config: T, context?: string): LoggerWithLevels<T>;
236
246
  //#endregion
@@ -535,7 +545,7 @@ declare class LogixiaLoggerModule implements NestModule {
535
545
  inject: string[];
536
546
  useValue?: never;
537
547
  })[];
538
- exports: (string | typeof WebSocketTraceInterceptor | typeof KafkaTraceInterceptor | typeof LogixiaLoggerService)[];
548
+ exports: (string | typeof LogixiaLoggerService | typeof KafkaTraceInterceptor | typeof WebSocketTraceInterceptor)[];
539
549
  global: boolean;
540
550
  };
541
551
  /**
@@ -572,7 +582,7 @@ declare class LogixiaLoggerModule implements NestModule {
572
582
  useFactory: (traceConfig: any) => WebSocketTraceInterceptor;
573
583
  inject: string[];
574
584
  })[];
575
- exports: (string | typeof WebSocketTraceInterceptor | typeof KafkaTraceInterceptor | typeof LogixiaLoggerService)[];
585
+ exports: (string | typeof LogixiaLoggerService | typeof KafkaTraceInterceptor | typeof WebSocketTraceInterceptor)[];
576
586
  global: boolean;
577
587
  };
578
588
  /**
@@ -592,4 +602,4 @@ declare class LogixiaLoggerModule implements NestModule {
592
602
  }
593
603
  //#endregion
594
604
  export { LogixiaOptionsFactory as a, LogixiaLoggerService as c, LogixiaLogger as d, createLogger as f, usePlugin as g, globalPluginRegistry as h, LogixiaLoggerModule as i, LogixiaServiceWith as l, PluginRegistry as m, LOGIXIA_LOGGER_PREFIX as n, WebSocketTraceInterceptor as o, LogixiaPlugin as p, LogixiaAsyncOptions as r, KafkaTraceInterceptor as s, LOGIXIA_LOGGER_CONFIG as t, LogixiaServiceWithLevels as u };
595
- //# sourceMappingURL=logitron-logger.module-DfyBsT_K.d.ts.map
605
+ //# sourceMappingURL=logitron-logger.module-BRXjlbAx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logitron-logger.module-BRXjlbAx.d.ts","names":[],"sources":["../src/plugin.ts","../src/core/logitron-logger.ts","../src/core/logitron-nestjs.service.ts","../src/core/kafka-trace.interceptor.ts","../src/core/websocket-trace.interceptor.ts","../src/core/logitron-logger.module.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const require_transport_manager = require('./transport.manager-B9LF9uDd.js');
1
+ const require_transport_manager = require('./transport.manager-ciG4r5uz.js');
2
2
  let fast_json_stringify = require("fast-json-stringify");
3
3
  fast_json_stringify = require_transport_manager.__toESM(fast_json_stringify);
4
4
  let node_async_hooks = require("node:async_hooks");
@@ -424,6 +424,15 @@ function initOtelBridge(opts = {}) {
424
424
  }
425
425
  /**
426
426
  * @internal
427
+ * True when initOtelBridge() has been called. Lets the logger hot path skip the
428
+ * `_getOtelPayloadIfEnabled()` call (and its `{}` allocation + Object.keys) on
429
+ * every log when the bridge is off — the overwhelmingly common case.
430
+ */
431
+ function _isOtelBridgeEnabled() {
432
+ return _bridgeOptions !== null;
433
+ }
434
+ /**
435
+ * @internal
427
436
  * Used by the core logger to inject OTel context when the bridge is active.
428
437
  * Returns `{}` when the bridge is not initialised or no active span exists.
429
438
  */
@@ -575,6 +584,26 @@ function matchesPath(fullPath, pattern) {
575
584
  }
576
585
  return re.test(fullPath);
577
586
  }
587
+ function applyPatterns(value, patterns, censor) {
588
+ let redacted = value;
589
+ for (const pattern of patterns) redacted = redacted.replace(pattern, censor);
590
+ return redacted;
591
+ }
592
+ function redactArrayItem(item, config, fullPath, skipPatternScan) {
593
+ if (isPlainObject(item)) return redactObject(item, config, fullPath);
594
+ const { patterns = [], censor = DEFAULT_CENSOR } = config;
595
+ if (!skipPatternScan && typeof item === "string" && patterns.length > 0) return applyPatterns(item, patterns, censor);
596
+ return item;
597
+ }
598
+ function redactField(value, config, fullPath) {
599
+ const { paths = [], excludePaths = [], patterns = [], censor = DEFAULT_CENSOR } = config;
600
+ if (paths.some((p) => matchesPath(fullPath, p))) return censor;
601
+ if (isPlainObject(value)) return redactObject(value, config, fullPath);
602
+ const skipPatternScan = excludePaths.some((p) => matchesPath(fullPath, p));
603
+ if (!skipPatternScan && typeof value === "string" && patterns.length > 0) return applyPatterns(value, patterns, censor);
604
+ if (Array.isArray(value)) return value.map((item) => redactArrayItem(item, config, fullPath, skipPatternScan));
605
+ return value;
606
+ }
578
607
  /**
579
608
  * Deep-clone and redact an object according to the given RedactConfig.
580
609
  * Non-objects are returned as-is (with pattern replacement on strings).
@@ -582,34 +611,10 @@ function matchesPath(fullPath, pattern) {
582
611
  * The function is intentionally non-mutating — it returns a new object.
583
612
  */
584
613
  function redactObject(obj, config, _currentPath = "") {
585
- const { paths = [], patterns = [], censor = DEFAULT_CENSOR } = config;
586
614
  const result = {};
587
615
  for (const [key, value] of Object.entries(obj)) {
588
616
  if (key === "__proto__" || key === "constructor" || key === "prototype") continue;
589
- const fullPath = _currentPath ? `${_currentPath}.${key}` : key;
590
- if (paths.length > 0 && paths.some((p) => matchesPath(fullPath, p))) {
591
- result[key] = censor;
592
- continue;
593
- }
594
- if (isPlainObject(value)) {
595
- result[key] = redactObject(value, config, fullPath);
596
- continue;
597
- }
598
- if (typeof value === "string" && patterns.length > 0) {
599
- let redacted = value;
600
- for (const pattern of patterns) redacted = redacted.replace(pattern, censor);
601
- result[key] = redacted;
602
- continue;
603
- }
604
- if (Array.isArray(value)) {
605
- result[key] = value.map((item) => {
606
- if (isPlainObject(item)) return redactObject(item, config, fullPath);
607
- if (typeof item === "string" && patterns.length > 0) return patterns.reduce((s, p) => s.replace(p, censor), item);
608
- return item;
609
- });
610
- continue;
611
- }
612
- result[key] = value;
617
+ result[key] = redactField(value, config, _currentPath ? `${_currentPath}.${key}` : key);
613
618
  }
614
619
  return result;
615
620
  }
@@ -1228,6 +1233,16 @@ const _fastStringifyEntry = (0, fast_json_stringify.default)({
1228
1233
  },
1229
1234
  additionalProperties: true
1230
1235
  });
1236
+ let _tsCacheMs = 0;
1237
+ let _tsCacheStr = "";
1238
+ function nowIso() {
1239
+ const ms = Date.now();
1240
+ if (ms !== _tsCacheMs) {
1241
+ _tsCacheMs = ms;
1242
+ _tsCacheStr = new Date(ms).toISOString();
1243
+ }
1244
+ return _tsCacheStr;
1245
+ }
1231
1246
  function namespacePatternToRegex(pattern) {
1232
1247
  const escaped = pattern.split(".").map((s) => s === "*" ? "[^.]+" : s.replace(/[$()*+.?[\\\]^{|}]/g, "\\$&")).join("\\.");
1233
1248
  return /* @__PURE__ */ new RegExp(`^${escaped}$`);
@@ -1696,10 +1711,11 @@ var LogixiaLogger = class LogixiaLogger {
1696
1711
  if (!this._sampler.shouldEmit(level, traceId$1)) return;
1697
1712
  }
1698
1713
  const alsContext = LogixiaContext.get();
1699
- const otelFields = _getOtelPayloadIfEnabled();
1700
- const hasOtel = Object.keys(otelFields).length > 0;
1714
+ const hasAls = alsContext !== void 0 && Object.keys(alsContext).length > 0;
1715
+ const otelFields = _isOtelBridgeEnabled() ? _getOtelPayloadIfEnabled() : void 0;
1716
+ const hasOtel = otelFields !== void 0 && Object.keys(otelFields).length > 0;
1701
1717
  let mergedData;
1702
- if (alsContext && Object.keys(alsContext).length > 0) mergedData = {
1718
+ if (hasAls) mergedData = {
1703
1719
  ...alsContext,
1704
1720
  ...hasOtel ? otelFields : {},
1705
1721
  ...data
@@ -1718,7 +1734,7 @@ var LogixiaLogger = class LogixiaLogger {
1718
1734
  const traceId = this.config.traceId ? TraceContext.instance.getCurrentTraceId() ?? this.fallbackTraceId : void 0;
1719
1735
  const safeMessage = this._hasRedact ? applyRedactionToString(message, this.config.redact) : message;
1720
1736
  const entry = {
1721
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
1737
+ timestamp: nowIso(),
1722
1738
  level,
1723
1739
  appName: this.config.appName ?? "App",
1724
1740
  environment: this.config.environment ?? "development",
@@ -1732,8 +1748,8 @@ var LogixiaLogger = class LogixiaLogger {
1732
1748
  finalEntry = await this._pluginRegistry.runOnLog(entry);
1733
1749
  if (finalEntry === null) return;
1734
1750
  }
1735
- const formattedLog = this.formatLog(finalEntry);
1736
- await this.output(formattedLog, level, finalEntry);
1751
+ const out = this.output(finalEntry, level);
1752
+ if (out !== void 0) await out;
1737
1753
  }
1738
1754
  /**
1739
1755
  * Hot-path level check: a single Map lookup + integer compare.
@@ -1791,15 +1807,32 @@ var LogixiaLogger = class LogixiaLogger {
1791
1807
  if (!((_this$config$format5 = this.config.format) === null || _this$config$format5 === void 0 ? void 0 : _this$config$format5.colorize)) return text;
1792
1808
  return `${this._colorMap.get(color.toLowerCase()) ?? this._colorMap.get("white")}${text}${this._colorMap.get("reset")}`;
1793
1809
  }
1794
- async output(message, level, entry) {
1795
- if (this.transportManager) try {
1796
- await this.transportManager.write(entry);
1810
+ /**
1811
+ * Dispatch the entry to transports (each formats itself). Returns `void` when
1812
+ * the write completes synchronously (console-only hot path) and a Promise only
1813
+ * when a transport is genuinely async — so the caller awaits only when needed.
1814
+ * Formatting for the no-transport fallback is done lazily, never on the
1815
+ * transport path.
1816
+ */
1817
+ output(entry, level) {
1818
+ if (this.transportManager) {
1819
+ let result;
1820
+ try {
1821
+ result = this.transportManager.write(entry);
1822
+ } catch (error) {
1823
+ return this._handleOutputError(error, entry, level);
1824
+ }
1825
+ if (result && typeof result.then === "function") return result.then(void 0, (error) => this._handleOutputError(error, entry, level));
1797
1826
  return;
1798
- } catch (error) {
1799
- require_transport_manager.internalError("Transport write failed", error);
1800
- if (this._pluginRegistry.size > 0) await this._pluginRegistry.runOnError(error instanceof Error ? error : new Error(String(error)), entry);
1801
1827
  }
1802
- (level === LogLevel.ERROR ? process.stderr : process.stdout).write(message + "\n");
1828
+ (level === LogLevel.ERROR ? process.stderr : process.stdout).write(this.formatLog(entry) + "\n");
1829
+ }
1830
+ /** Shared transport-failure handler: log internally, notify plugins, then fall
1831
+ * back to a direct stdout/stderr write so the entry is never lost. */
1832
+ async _handleOutputError(error, entry, level) {
1833
+ require_transport_manager.internalError("Transport write failed", error);
1834
+ if (this._pluginRegistry.size > 0) await this._pluginRegistry.runOnError(error instanceof Error ? error : new Error(String(error)), entry);
1835
+ (level === LogLevel.ERROR ? process.stderr : process.stdout).write(this.formatLog(entry) + "\n");
1803
1836
  }
1804
1837
  };
1805
1838
  function createLogger(config, context) {
@@ -2767,4 +2800,4 @@ Object.defineProperty(exports, 'usePlugin', {
2767
2800
  return usePlugin;
2768
2801
  }
2769
2802
  });
2770
- //# sourceMappingURL=logitron-logger.module-DHFampon.js.map
2803
+ //# sourceMappingURL=logitron-logger.module-BTxDpK6u.js.map