logixia 1.2.1 → 1.3.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 (59) hide show
  1. package/dist/{index-BDRSTjUt.d.ts → index-CHIsdA9n.d.ts} +53 -2
  2. package/dist/index-CHIsdA9n.d.ts.map +1 -0
  3. package/dist/{index-Drrzn-Yg.d.mts → index-iDTW2-eY.d.mts} +53 -2
  4. package/dist/index-iDTW2-eY.d.mts.map +1 -0
  5. package/dist/index.d.mts +89 -3
  6. package/dist/index.d.mts.map +1 -1
  7. package/dist/index.d.ts +89 -3
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +5 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/index.mjs +3 -3
  12. package/dist/index.mjs.map +1 -1
  13. package/dist/{logitron-logger.module-iO8DPE7_.mjs → logitron-logger.module-2AzkadqZ.mjs} +226 -8
  14. package/dist/logitron-logger.module-2AzkadqZ.mjs.map +1 -0
  15. package/dist/{logitron-logger.module-X6nGDVGC.js → logitron-logger.module-BqNKp0Fs.js} +240 -4
  16. package/dist/logitron-logger.module-BqNKp0Fs.js.map +1 -0
  17. package/dist/{logitron-logger.module-CY3t8yK6.d.mts → logitron-logger.module-C0G8JGVf.d.ts} +6 -4
  18. package/dist/logitron-logger.module-C0G8JGVf.d.ts.map +1 -0
  19. package/dist/{logitron-logger.module-DgEldK9V.d.ts → logitron-logger.module-DQKaZTJL.d.mts} +6 -4
  20. package/dist/logitron-logger.module-DQKaZTJL.d.mts.map +1 -0
  21. package/dist/middleware.d.mts +83 -0
  22. package/dist/middleware.d.mts.map +1 -0
  23. package/dist/middleware.d.ts +83 -0
  24. package/dist/middleware.d.ts.map +1 -0
  25. package/dist/middleware.js +132 -0
  26. package/dist/middleware.js.map +1 -0
  27. package/dist/middleware.mjs +130 -0
  28. package/dist/middleware.mjs.map +1 -0
  29. package/dist/nest.d.mts +2 -2
  30. package/dist/nest.d.ts +2 -2
  31. package/dist/nest.js +2 -2
  32. package/dist/nest.mjs +2 -2
  33. package/dist/testing.d.mts +67 -0
  34. package/dist/testing.d.mts.map +1 -0
  35. package/dist/testing.d.ts +67 -0
  36. package/dist/testing.d.ts.map +1 -0
  37. package/dist/testing.js +164 -0
  38. package/dist/testing.js.map +1 -0
  39. package/dist/testing.mjs +163 -0
  40. package/dist/testing.mjs.map +1 -0
  41. package/dist/{transport.manager-Vi__pagn.mjs → transport.manager-5VVdqS3o.mjs} +51 -2
  42. package/dist/transport.manager-5VVdqS3o.mjs.map +1 -0
  43. package/dist/{transport.manager-C3Xr7Tvi.js → transport.manager-DCOm4uIQ.js} +51 -2
  44. package/dist/transport.manager-DCOm4uIQ.js.map +1 -0
  45. package/dist/transports.d.mts +38 -1
  46. package/dist/transports.d.mts.map +1 -1
  47. package/dist/transports.d.ts +38 -1
  48. package/dist/transports.d.ts.map +1 -1
  49. package/dist/transports.js +1 -1
  50. package/dist/transports.mjs +1 -1
  51. package/package.json +21 -1
  52. package/dist/index-BDRSTjUt.d.ts.map +0 -1
  53. package/dist/index-Drrzn-Yg.d.mts.map +0 -1
  54. package/dist/logitron-logger.module-CY3t8yK6.d.mts.map +0 -1
  55. package/dist/logitron-logger.module-DgEldK9V.d.ts.map +0 -1
  56. package/dist/logitron-logger.module-X6nGDVGC.js.map +0 -1
  57. package/dist/logitron-logger.module-iO8DPE7_.mjs.map +0 -1
  58. package/dist/transport.manager-C3Xr7Tvi.js.map +0 -1
  59. package/dist/transport.manager-Vi__pagn.mjs.map +0 -1
@@ -89,6 +89,51 @@ interface RedactConfig {
89
89
  /** Replacement value for redacted content. Default: `"[REDACTED]"` */
90
90
  censor?: string;
91
91
  }
92
+ /**
93
+ * Built-in log sampling / rate limiting.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * sampling: {
98
+ * rate: 0.1, // log 10% of all entries
99
+ * perLevel: { debug: 0.01 }, // override: debug at 1%
100
+ * maxLogsPerSecond: 500, // hard cap — extras dropped
101
+ * traceConsistent: true, // if a traceId is sampled, keep all logs for that trace
102
+ * }
103
+ * ```
104
+ */
105
+ interface SamplingConfig {
106
+ /**
107
+ * Global sample rate for all log levels: 0.0 (drop all) → 1.0 (keep all).
108
+ * Default: 1.0 (no sampling).
109
+ */
110
+ rate?: number;
111
+ /**
112
+ * Per-level rate overrides. Unmentioned levels fall back to `rate`.
113
+ * ERROR and WARN default to 1.0 even when a lower global rate is set,
114
+ * unless you explicitly override them here.
115
+ * @example `{ debug: 0.05, info: 0.5 }`
116
+ */
117
+ perLevel?: Partial<Record<string, number>>;
118
+ /**
119
+ * Hard cap on logs emitted per second across all levels.
120
+ * Excess entries are silently dropped and counted in the sampling stats.
121
+ * Default: unlimited.
122
+ */
123
+ maxLogsPerSecond?: number;
124
+ /**
125
+ * When true, all log entries sharing a traceId are either all kept or all
126
+ * dropped — preventing a sampled trace from having missing log entries.
127
+ * Default: false.
128
+ */
129
+ traceConsistent?: boolean;
130
+ /**
131
+ * Emit a periodic sampling stats entry at this interval (ms).
132
+ * Stats include: sampled, dropped, and rate per level over the window.
133
+ * Set to 0 to disable. Default: 60_000 (60 s).
134
+ */
135
+ statsIntervalMs?: number;
136
+ }
92
137
  /**
93
138
  * Per-namespace log level overrides.
94
139
  * Keys are namespace patterns (dot-separated, `*` wildcard); values are log levels.
@@ -145,6 +190,12 @@ interface LoggerConfig<TLevels extends Record<string, number> = Record<string, n
145
190
  * deployments / restarts.
146
191
  */
147
192
  gracefulShutdown?: boolean | GracefulShutdownConfig;
193
+ /**
194
+ * Built-in log sampling & rate limiting.
195
+ * Completely missing from all existing loggers — eliminates the need to
196
+ * implement sampling logic in application code.
197
+ */
198
+ sampling?: SamplingConfig;
148
199
  [key: string]: unknown;
149
200
  }
150
201
  interface IBaseLogger {
@@ -243,5 +294,5 @@ declare const DEFAULT_LOG_COLORS: {
243
294
  verbose: string;
244
295
  };
245
296
  //#endregion
246
- export { RequestTiming as A, TimingEntry as C, HttpRequest as D, HttpError as E, HttpResponse as O, RequestContext as S, TraceIdExtractorConfig as T, LogLevelString as _, Environment as a, NamespaceLevels as b, GracefulShutdownConfig as c, ILogger as d, ILoggerDefault as f, LogLevel as g, LogFieldKey as h, DEFAULT_LOG_LEVELS as i, RequestMetrics as k, IBaseLogger as l, LogEntry as m, CustomLevelMethods as n, ErrorSerializationOptions as o, LogColor as p, DEFAULT_LOG_COLORS as r, ExtractLevels as s, ContextData as t, ILogFormatter as u, LoggerConfig as v, TraceIdConfig as w, RedactConfig as x, LoggerWithLevels as y };
247
- //# sourceMappingURL=index-BDRSTjUt.d.ts.map
297
+ export { RequestMetrics as A, SamplingConfig as C, HttpError as D, TraceIdExtractorConfig as E, HttpRequest as O, RequestContext as S, TraceIdConfig as T, LogLevelString as _, Environment as a, NamespaceLevels as b, GracefulShutdownConfig as c, ILogger as d, ILoggerDefault as f, LogLevel as g, LogFieldKey as h, DEFAULT_LOG_LEVELS as i, RequestTiming as j, HttpResponse as k, IBaseLogger as l, LogEntry as m, CustomLevelMethods as n, ErrorSerializationOptions as o, LogColor as p, DEFAULT_LOG_COLORS as r, ExtractLevels as s, ContextData as t, ILogFormatter as u, LoggerConfig as v, TimingEntry as w, RedactConfig as x, LoggerWithLevels as y };
298
+ //# sourceMappingURL=index-CHIsdA9n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CHIsdA9n.d.ts","names":[],"sources":["../src/types/http.types.ts","../src/types/index.ts"],"sourcesContent":[],"mappings":"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"}
@@ -89,6 +89,51 @@ interface RedactConfig {
89
89
  /** Replacement value for redacted content. Default: `"[REDACTED]"` */
90
90
  censor?: string;
91
91
  }
92
+ /**
93
+ * Built-in log sampling / rate limiting.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * sampling: {
98
+ * rate: 0.1, // log 10% of all entries
99
+ * perLevel: { debug: 0.01 }, // override: debug at 1%
100
+ * maxLogsPerSecond: 500, // hard cap — extras dropped
101
+ * traceConsistent: true, // if a traceId is sampled, keep all logs for that trace
102
+ * }
103
+ * ```
104
+ */
105
+ interface SamplingConfig {
106
+ /**
107
+ * Global sample rate for all log levels: 0.0 (drop all) → 1.0 (keep all).
108
+ * Default: 1.0 (no sampling).
109
+ */
110
+ rate?: number;
111
+ /**
112
+ * Per-level rate overrides. Unmentioned levels fall back to `rate`.
113
+ * ERROR and WARN default to 1.0 even when a lower global rate is set,
114
+ * unless you explicitly override them here.
115
+ * @example `{ debug: 0.05, info: 0.5 }`
116
+ */
117
+ perLevel?: Partial<Record<string, number>>;
118
+ /**
119
+ * Hard cap on logs emitted per second across all levels.
120
+ * Excess entries are silently dropped and counted in the sampling stats.
121
+ * Default: unlimited.
122
+ */
123
+ maxLogsPerSecond?: number;
124
+ /**
125
+ * When true, all log entries sharing a traceId are either all kept or all
126
+ * dropped — preventing a sampled trace from having missing log entries.
127
+ * Default: false.
128
+ */
129
+ traceConsistent?: boolean;
130
+ /**
131
+ * Emit a periodic sampling stats entry at this interval (ms).
132
+ * Stats include: sampled, dropped, and rate per level over the window.
133
+ * Set to 0 to disable. Default: 60_000 (60 s).
134
+ */
135
+ statsIntervalMs?: number;
136
+ }
92
137
  /**
93
138
  * Per-namespace log level overrides.
94
139
  * Keys are namespace patterns (dot-separated, `*` wildcard); values are log levels.
@@ -145,6 +190,12 @@ interface LoggerConfig<TLevels extends Record<string, number> = Record<string, n
145
190
  * deployments / restarts.
146
191
  */
147
192
  gracefulShutdown?: boolean | GracefulShutdownConfig;
193
+ /**
194
+ * Built-in log sampling & rate limiting.
195
+ * Completely missing from all existing loggers — eliminates the need to
196
+ * implement sampling logic in application code.
197
+ */
198
+ sampling?: SamplingConfig;
148
199
  [key: string]: unknown;
149
200
  }
150
201
  interface IBaseLogger {
@@ -243,5 +294,5 @@ declare const DEFAULT_LOG_COLORS: {
243
294
  verbose: string;
244
295
  };
245
296
  //#endregion
246
- export { RequestTiming as A, TimingEntry as C, HttpRequest as D, HttpError as E, HttpResponse as O, RequestContext as S, TraceIdExtractorConfig as T, LogLevelString as _, Environment as a, NamespaceLevels as b, GracefulShutdownConfig as c, ILogger as d, ILoggerDefault as f, LogLevel as g, LogFieldKey as h, DEFAULT_LOG_LEVELS as i, RequestMetrics as k, IBaseLogger as l, LogEntry as m, CustomLevelMethods as n, ErrorSerializationOptions as o, LogColor as p, DEFAULT_LOG_COLORS as r, ExtractLevels as s, ContextData as t, ILogFormatter as u, LoggerConfig as v, TraceIdConfig as w, RedactConfig as x, LoggerWithLevels as y };
247
- //# sourceMappingURL=index-Drrzn-Yg.d.mts.map
297
+ export { RequestMetrics as A, SamplingConfig as C, HttpError as D, TraceIdExtractorConfig as E, HttpRequest as O, RequestContext as S, TraceIdConfig as T, LogLevelString as _, Environment as a, NamespaceLevels as b, GracefulShutdownConfig as c, ILogger as d, ILoggerDefault as f, LogLevel as g, LogFieldKey as h, DEFAULT_LOG_LEVELS as i, RequestTiming as j, HttpResponse as k, IBaseLogger as l, LogEntry as m, CustomLevelMethods as n, ErrorSerializationOptions as o, LogColor as p, DEFAULT_LOG_COLORS as r, ExtractLevels as s, ContextData as t, ILogFormatter as u, LoggerConfig as v, TimingEntry as w, RedactConfig as x, LoggerWithLevels as y };
298
+ //# sourceMappingURL=index-iDTW2-eY.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-iDTW2-eY.d.mts","names":[],"sources":["../src/types/http.types.ts","../src/types/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as RequestTiming, C as TimingEntry, D as HttpRequest, E as HttpError, O as HttpResponse, S as RequestContext, T as TraceIdExtractorConfig, _ as LogLevelString, a as Environment, b as NamespaceLevels, c as GracefulShutdownConfig, d as ILogger, f as ILoggerDefault, g as LogLevel, h as LogFieldKey, i as DEFAULT_LOG_LEVELS, k as RequestMetrics, l as IBaseLogger, m as LogEntry, n as CustomLevelMethods, o as ErrorSerializationOptions, p as LogColor, r as DEFAULT_LOG_COLORS, s as ExtractLevels, t as ContextData, u as ILogFormatter, v as LoggerConfig, w as TraceIdConfig, x as RedactConfig, y as LoggerWithLevels } from "./index-Drrzn-Yg.mjs";
2
- import { a as LogixiaOptionsFactory, c as LogixiaLoggerService, i as LogixiaLoggerModule, l as LogixiaLogger, n as LOGIXIA_LOGGER_PREFIX, o as WebSocketTraceInterceptor, r as LogixiaAsyncOptions, s as KafkaTraceInterceptor, t as LOGIXIA_LOGGER_CONFIG, u as createLogger$1 } from "./logitron-logger.module-CY3t8yK6.mjs";
1
+ import { A as RequestMetrics, C as SamplingConfig, D as HttpError, E as TraceIdExtractorConfig, O as HttpRequest, S as RequestContext, T as TraceIdConfig, _ as LogLevelString, a as Environment, b as NamespaceLevels, c as GracefulShutdownConfig, d as ILogger, f as ILoggerDefault, g as LogLevel, h as LogFieldKey, i as DEFAULT_LOG_LEVELS, j as RequestTiming, k as HttpResponse, l as IBaseLogger, m as LogEntry, n as CustomLevelMethods, o as ErrorSerializationOptions, p as LogColor, r as DEFAULT_LOG_COLORS, s as ExtractLevels, t as ContextData, u as ILogFormatter, v as LoggerConfig, w as TimingEntry, x as RedactConfig, y as LoggerWithLevels } from "./index-iDTW2-eY.mjs";
2
+ import { a as LogixiaOptionsFactory, c as LogixiaLoggerService, i as LogixiaLoggerModule, l as LogixiaLogger, n as LOGIXIA_LOGGER_PREFIX, o as WebSocketTraceInterceptor, r as LogixiaAsyncOptions, s as KafkaTraceInterceptor, t as LOGIXIA_LOGGER_CONFIG, u as createLogger$1 } from "./logitron-logger.module-DQKaZTJL.mjs";
3
3
  import "./search-DanSf_yc.mjs";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
5
5
 
@@ -173,6 +173,92 @@ declare const DEFAULT_TRACE_HEADERS: string[];
173
173
  */
174
174
  declare function createTraceMiddleware(config: TraceIdConfig): (req: unknown, res: unknown, next: () => void) => void;
175
175
  //#endregion
176
+ //#region src/context/async-context.d.ts
177
+ interface LogContext {
178
+ requestId?: string;
179
+ traceId?: string;
180
+ spanId?: string;
181
+ userId?: string;
182
+ tenantId?: string;
183
+ sessionId?: string;
184
+ [key: string]: unknown;
185
+ }
186
+ declare const LogixiaContext: {
187
+ /**
188
+ * Run `callback` inside an async context that carries `store` fields.
189
+ * All loggers queried within `callback` (and its async descendants) will
190
+ * automatically see these fields.
191
+ *
192
+ * @example
193
+ * ```ts
194
+ * LogixiaContext.run({ requestId: 'abc', userId: '42' }, async () => {
195
+ * await processOrder(); // sees requestId + userId in every log
196
+ * });
197
+ * ```
198
+ */
199
+ run<T>(store: LogContext, callback: () => T): T;
200
+ /**
201
+ * Return the context fields active in the current async scope.
202
+ * Returns `undefined` when called outside any `LogixiaContext.run()`.
203
+ */
204
+ get(): LogContext | undefined;
205
+ /**
206
+ * Merge `fields` into the **existing** context for the current scope.
207
+ * If called outside a `run()` context this is a no-op (logs a dev warning).
208
+ */
209
+ set(fields: Partial<LogContext>): void;
210
+ /**
211
+ * Retrieve the underlying `AsyncLocalStorage` instance.
212
+ * Useful for advanced use-cases like custom middleware.
213
+ */
214
+ getStorage(): AsyncLocalStorage<LogContext>;
215
+ };
216
+ /**
217
+ * Create an Express/Connect-compatible middleware that wraps each request in
218
+ * a `LogixiaContext.run()` scope populated with common request fields.
219
+ *
220
+ * @example
221
+ * ```ts
222
+ * import { createExpressContextMiddleware } from 'logixia';
223
+ * app.use(createExpressContextMiddleware());
224
+ * ```
225
+ */
226
+ declare function createExpressContextMiddleware(options?: {
227
+ /** Extract additional fields from the request. */
228
+ enrich?: (req: Record<string, unknown>) => Partial<LogContext>;
229
+ /** Header to read the requestId from. Default: 'x-request-id'. */
230
+ requestIdHeader?: string;
231
+ /** Header to read the traceId from. Default: 'x-trace-id'. */
232
+ traceIdHeader?: string;
233
+ }): (req: Record<string, unknown>, _res: unknown, next: () => void) => void;
234
+ /**
235
+ * Create a Fastify lifecycle hook that wraps each request in a context scope.
236
+ *
237
+ * Register with `fastify.addHook('onRequest', createFastifyContextHook())`.
238
+ */
239
+ declare function createFastifyContextHook(options?: {
240
+ enrich?: (request: Record<string, unknown>) => Partial<LogContext>;
241
+ requestIdHeader?: string;
242
+ traceIdHeader?: string;
243
+ }): (request: Record<string, unknown>, _reply: unknown, done: () => void) => void;
244
+ //#endregion
245
+ //#region src/utils/sampling.utils.d.ts
246
+ interface SamplingStats {
247
+ /** Total calls evaluated since last reset. */
248
+ evaluated: number;
249
+ /** Total calls emitted (passed through). */
250
+ emitted: number;
251
+ /** Total calls dropped. */
252
+ dropped: number;
253
+ /** Per-level breakdown. */
254
+ byLevel: Record<string, {
255
+ evaluated: number;
256
+ emitted: number;
257
+ }>;
258
+ /** Window start (ms since epoch). */
259
+ windowStart: number;
260
+ }
261
+ //#endregion
176
262
  //#region src/index.d.ts
177
263
  /**
178
264
  * Default configuration for Logixia logger
@@ -259,5 +345,5 @@ declare const logger: LogixiaLogger<{
259
345
  outputs: string[];
260
346
  }>;
261
347
  //#endregion
262
- export { ContextData, CustomLevelMethods, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, Environment, ErrorSerializationOptions, ExtractLevels, FlushOnExitOptions, GracefulShutdownConfig, HttpError, HttpRequest, HttpResponse, IBaseLogger, ILogFormatter, ILogger, ILoggerDefault, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogColor, LogEntry, LogFieldKey, LogLevel, LogLevelString, LoggerConfig, LoggerConfig as LoggerConfigInterface, LoggerWithLevels, LogixiaAsyncOptions, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, LogixiaOptionsFactory, NamespaceLevels, type RedactConfig, RequestContext, RequestMetrics, RequestTiming, TextFormatter, TimingEntry, TraceIdConfig, TraceIdExtractorConfig, WebSocketTraceInterceptor, applyRedaction, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
348
+ export { ContextData, CustomLevelMethods, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, Environment, ErrorSerializationOptions, ExtractLevels, FlushOnExitOptions, GracefulShutdownConfig, HttpError, HttpRequest, HttpResponse, IBaseLogger, ILogFormatter, ILogger, ILoggerDefault, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogColor, type LogContext, LogEntry, LogFieldKey, LogLevel, LogLevelString, LoggerConfig, LoggerConfig as LoggerConfigInterface, LoggerWithLevels, LogixiaAsyncOptions, LogixiaContext, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, LogixiaOptionsFactory, NamespaceLevels, type RedactConfig, RequestContext, RequestMetrics, RequestTiming, SamplingConfig, type SamplingStats, TextFormatter, TimingEntry, TraceIdConfig, TraceIdExtractorConfig, WebSocketTraceInterceptor, applyRedaction, createExpressContextMiddleware, createFastifyContextHook, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
263
349
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/utils/error.utils.ts","../src/utils/redact.utils.ts","../src/utils/shutdown.utils.ts","../src/utils/trace.utils.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/utils/error.utils.ts","../src/utils/redact.utils.ts","../src/utils/shutdown.utils.ts","../src/utils/trace.utils.ts","../src/context/async-context.ts","../src/utils/sampling.utils.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { A as RequestTiming, C as TimingEntry, D as HttpRequest, E as HttpError, O as HttpResponse, S as RequestContext, T as TraceIdExtractorConfig, _ as LogLevelString, a as Environment, b as NamespaceLevels, c as GracefulShutdownConfig, d as ILogger, f as ILoggerDefault, g as LogLevel, h as LogFieldKey, i as DEFAULT_LOG_LEVELS, k as RequestMetrics, l as IBaseLogger, m as LogEntry, n as CustomLevelMethods, o as ErrorSerializationOptions, p as LogColor, r as DEFAULT_LOG_COLORS, s as ExtractLevels, t as ContextData, u as ILogFormatter, v as LoggerConfig, w as TraceIdConfig, x as RedactConfig, y as LoggerWithLevels } from "./index-BDRSTjUt.js";
2
- import { a as LogixiaOptionsFactory, c as LogixiaLoggerService, i as LogixiaLoggerModule, l as LogixiaLogger, n as LOGIXIA_LOGGER_PREFIX, o as WebSocketTraceInterceptor, r as LogixiaAsyncOptions, s as KafkaTraceInterceptor, t as LOGIXIA_LOGGER_CONFIG, u as createLogger$1 } from "./logitron-logger.module-DgEldK9V.js";
1
+ import { A as RequestMetrics, C as SamplingConfig, D as HttpError, E as TraceIdExtractorConfig, O as HttpRequest, S as RequestContext, T as TraceIdConfig, _ as LogLevelString, a as Environment, b as NamespaceLevels, c as GracefulShutdownConfig, d as ILogger, f as ILoggerDefault, g as LogLevel, h as LogFieldKey, i as DEFAULT_LOG_LEVELS, j as RequestTiming, k as HttpResponse, l as IBaseLogger, m as LogEntry, n as CustomLevelMethods, o as ErrorSerializationOptions, p as LogColor, r as DEFAULT_LOG_COLORS, s as ExtractLevels, t as ContextData, u as ILogFormatter, v as LoggerConfig, w as TimingEntry, x as RedactConfig, y as LoggerWithLevels } from "./index-CHIsdA9n.js";
2
+ import { a as LogixiaOptionsFactory, c as LogixiaLoggerService, i as LogixiaLoggerModule, l as LogixiaLogger, n as LOGIXIA_LOGGER_PREFIX, o as WebSocketTraceInterceptor, r as LogixiaAsyncOptions, s as KafkaTraceInterceptor, t as LOGIXIA_LOGGER_CONFIG, u as createLogger$1 } from "./logitron-logger.module-C0G8JGVf.js";
3
3
  import "./search-Cg_OasF-.js";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
5
5
 
@@ -173,6 +173,92 @@ declare const DEFAULT_TRACE_HEADERS: string[];
173
173
  */
174
174
  declare function createTraceMiddleware(config: TraceIdConfig): (req: unknown, res: unknown, next: () => void) => void;
175
175
  //#endregion
176
+ //#region src/context/async-context.d.ts
177
+ interface LogContext {
178
+ requestId?: string;
179
+ traceId?: string;
180
+ spanId?: string;
181
+ userId?: string;
182
+ tenantId?: string;
183
+ sessionId?: string;
184
+ [key: string]: unknown;
185
+ }
186
+ declare const LogixiaContext: {
187
+ /**
188
+ * Run `callback` inside an async context that carries `store` fields.
189
+ * All loggers queried within `callback` (and its async descendants) will
190
+ * automatically see these fields.
191
+ *
192
+ * @example
193
+ * ```ts
194
+ * LogixiaContext.run({ requestId: 'abc', userId: '42' }, async () => {
195
+ * await processOrder(); // sees requestId + userId in every log
196
+ * });
197
+ * ```
198
+ */
199
+ run<T>(store: LogContext, callback: () => T): T;
200
+ /**
201
+ * Return the context fields active in the current async scope.
202
+ * Returns `undefined` when called outside any `LogixiaContext.run()`.
203
+ */
204
+ get(): LogContext | undefined;
205
+ /**
206
+ * Merge `fields` into the **existing** context for the current scope.
207
+ * If called outside a `run()` context this is a no-op (logs a dev warning).
208
+ */
209
+ set(fields: Partial<LogContext>): void;
210
+ /**
211
+ * Retrieve the underlying `AsyncLocalStorage` instance.
212
+ * Useful for advanced use-cases like custom middleware.
213
+ */
214
+ getStorage(): AsyncLocalStorage<LogContext>;
215
+ };
216
+ /**
217
+ * Create an Express/Connect-compatible middleware that wraps each request in
218
+ * a `LogixiaContext.run()` scope populated with common request fields.
219
+ *
220
+ * @example
221
+ * ```ts
222
+ * import { createExpressContextMiddleware } from 'logixia';
223
+ * app.use(createExpressContextMiddleware());
224
+ * ```
225
+ */
226
+ declare function createExpressContextMiddleware(options?: {
227
+ /** Extract additional fields from the request. */
228
+ enrich?: (req: Record<string, unknown>) => Partial<LogContext>;
229
+ /** Header to read the requestId from. Default: 'x-request-id'. */
230
+ requestIdHeader?: string;
231
+ /** Header to read the traceId from. Default: 'x-trace-id'. */
232
+ traceIdHeader?: string;
233
+ }): (req: Record<string, unknown>, _res: unknown, next: () => void) => void;
234
+ /**
235
+ * Create a Fastify lifecycle hook that wraps each request in a context scope.
236
+ *
237
+ * Register with `fastify.addHook('onRequest', createFastifyContextHook())`.
238
+ */
239
+ declare function createFastifyContextHook(options?: {
240
+ enrich?: (request: Record<string, unknown>) => Partial<LogContext>;
241
+ requestIdHeader?: string;
242
+ traceIdHeader?: string;
243
+ }): (request: Record<string, unknown>, _reply: unknown, done: () => void) => void;
244
+ //#endregion
245
+ //#region src/utils/sampling.utils.d.ts
246
+ interface SamplingStats {
247
+ /** Total calls evaluated since last reset. */
248
+ evaluated: number;
249
+ /** Total calls emitted (passed through). */
250
+ emitted: number;
251
+ /** Total calls dropped. */
252
+ dropped: number;
253
+ /** Per-level breakdown. */
254
+ byLevel: Record<string, {
255
+ evaluated: number;
256
+ emitted: number;
257
+ }>;
258
+ /** Window start (ms since epoch). */
259
+ windowStart: number;
260
+ }
261
+ //#endregion
176
262
  //#region src/index.d.ts
177
263
  /**
178
264
  * Default configuration for Logixia logger
@@ -259,5 +345,5 @@ declare const logger: LogixiaLogger<{
259
345
  outputs: string[];
260
346
  }>;
261
347
  //#endregion
262
- export { ContextData, CustomLevelMethods, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, Environment, ErrorSerializationOptions, ExtractLevels, FlushOnExitOptions, GracefulShutdownConfig, HttpError, HttpRequest, HttpResponse, IBaseLogger, ILogFormatter, ILogger, ILoggerDefault, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogColor, LogEntry, LogFieldKey, LogLevel, LogLevelString, LoggerConfig, LoggerConfig as LoggerConfigInterface, LoggerWithLevels, LogixiaAsyncOptions, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, LogixiaOptionsFactory, NamespaceLevels, type RedactConfig, RequestContext, RequestMetrics, RequestTiming, TextFormatter, TimingEntry, TraceIdConfig, TraceIdExtractorConfig, WebSocketTraceInterceptor, applyRedaction, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
348
+ export { ContextData, CustomLevelMethods, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, Environment, ErrorSerializationOptions, ExtractLevels, FlushOnExitOptions, GracefulShutdownConfig, HttpError, HttpRequest, HttpResponse, IBaseLogger, ILogFormatter, ILogger, ILoggerDefault, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogColor, type LogContext, LogEntry, LogFieldKey, LogLevel, LogLevelString, LoggerConfig, LoggerConfig as LoggerConfigInterface, LoggerWithLevels, LogixiaAsyncOptions, LogixiaContext, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, LogixiaOptionsFactory, NamespaceLevels, type RedactConfig, RequestContext, RequestMetrics, RequestTiming, SamplingConfig, type SamplingStats, TextFormatter, TimingEntry, TraceIdConfig, TraceIdExtractorConfig, WebSocketTraceInterceptor, applyRedaction, createExpressContextMiddleware, createFastifyContextHook, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
263
349
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/utils/error.utils.ts","../src/utils/redact.utils.ts","../src/utils/shutdown.utils.ts","../src/utils/trace.utils.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/utils/error.utils.ts","../src/utils/redact.utils.ts","../src/utils/shutdown.utils.ts","../src/utils/trace.utils.ts","../src/context/async-context.ts","../src/utils/sampling.utils.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- require('./transport.manager-C3Xr7Tvi.js');
2
- const require_logitron_logger_module = require('./logitron-logger.module-X6nGDVGC.js');
1
+ const require_logitron_logger_module = require('./logitron-logger.module-BqNKp0Fs.js');
2
+ require('./transport.manager-DCOm4uIQ.js');
3
3
  require('./search-DeZHhWxB.js');
4
4
 
5
5
  //#region src/formatters/json.formatter.ts
@@ -250,6 +250,7 @@ Object.defineProperty(exports, 'KafkaTraceInterceptor', {
250
250
  exports.LOGIXIA_LOGGER_CONFIG = require_logitron_logger_module.LOGIXIA_LOGGER_CONFIG;
251
251
  exports.LOGIXIA_LOGGER_PREFIX = require_logitron_logger_module.LOGIXIA_LOGGER_PREFIX;
252
252
  exports.LogLevel = require_logitron_logger_module.LogLevel;
253
+ exports.LogixiaContext = require_logitron_logger_module.LogixiaContext;
253
254
  exports.LogixiaLogger = require_logitron_logger_module.LogixiaLogger;
254
255
  Object.defineProperty(exports, 'LogixiaLoggerModule', {
255
256
  enumerable: true,
@@ -271,6 +272,8 @@ Object.defineProperty(exports, 'WebSocketTraceInterceptor', {
271
272
  }
272
273
  });
273
274
  exports.applyRedaction = require_logitron_logger_module.applyRedaction;
275
+ exports.createExpressContextMiddleware = require_logitron_logger_module.createExpressContextMiddleware;
276
+ exports.createFastifyContextHook = require_logitron_logger_module.createFastifyContextHook;
274
277
  exports.createLogger = createLogger;
275
278
  exports.createLoggerService = createLoggerService;
276
279
  exports.createTraceMiddleware = require_logitron_logger_module.createTraceMiddleware;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["formatted: Record<string, unknown>","serializeError","serialized: Record<string, unknown>","parts: string[]","LogLevel","LogLevel","createLoggerFromCore","LogixiaLoggerService","LogixiaLogger"],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/index.ts"],"sourcesContent":["/**\n * JSON formatter for Logixia\n */\n\nimport type { ILogFormatter, LogEntry } from '../types';\nimport { serializeError } from '../utils/error.utils';\n\nexport class JsonFormatter implements ILogFormatter {\n private includeTimestamp: boolean;\n private includeLevel: boolean;\n private includeAppName: boolean;\n private includeTraceId: boolean;\n private includeContext: boolean;\n private prettyPrint: boolean;\n\n constructor(\n options: {\n includeTimestamp?: boolean;\n includeLevel?: boolean;\n includeAppName?: boolean;\n includeTraceId?: boolean;\n includeContext?: boolean;\n prettyPrint?: boolean;\n } = {}\n ) {\n this.includeTimestamp = options.includeTimestamp ?? true;\n this.includeLevel = options.includeLevel ?? true;\n this.includeAppName = options.includeAppName ?? true;\n this.includeTraceId = options.includeTraceId ?? true;\n this.includeContext = options.includeContext ?? true;\n this.prettyPrint = options.prettyPrint ?? false;\n }\n\n format(entry: LogEntry): string {\n const formatted: Record<string, unknown> = {};\n\n // Add timestamp\n if (this.includeTimestamp) {\n formatted.timestamp = entry.timestamp;\n }\n\n // Add log level\n if (this.includeLevel) {\n formatted.level = entry.level.toLowerCase();\n formatted.levelValue = entry.level;\n }\n\n // Add app name\n if (this.includeAppName) {\n formatted.appName = entry.appName;\n }\n\n // Add trace ID\n if (this.includeTraceId && entry.traceId) {\n formatted.traceId = entry.traceId;\n }\n\n // Add context\n if (this.includeContext && entry.context) {\n formatted.context = entry.context;\n }\n\n // Add message\n formatted.message = entry.message;\n\n // Add payload\n if (entry.payload && Object.keys(entry.payload).length > 0) {\n formatted.payload = this.serializePayload(entry.payload);\n }\n\n // Add error if present\n if (entry.error) {\n formatted.error = serializeError(entry.error);\n }\n\n // Add metadata\n formatted.meta = {\n pid: process.pid,\n hostname: process.env.HOSTNAME || 'unknown',\n version: process.version,\n };\n\n return this.prettyPrint ? JSON.stringify(formatted, null, 2) : JSON.stringify(formatted);\n }\n\n private serializePayload(payload: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(payload)) {\n try {\n if (value instanceof Error) {\n serialized[key] = serializeError(value);\n } else if (value instanceof Date) {\n serialized[key] = value.toISOString();\n } else if (typeof value === 'function') {\n serialized[key] = '[Function]';\n } else if (typeof value === 'symbol') {\n serialized[key] = value.toString();\n } else if (value === undefined) {\n serialized[key] = null;\n } else {\n serialized[key] = value;\n }\n } catch {\n serialized[key] = '[Unserializable]';\n }\n }\n\n return serialized;\n }\n}\n","/**\n * Text formatter for Logixia\n */\n\nimport type { ILogFormatter, LogEntry } from '../types';\nimport { LogLevel } from '../types';\n\nexport class TextFormatter implements ILogFormatter {\n private colorize: boolean;\n private includeTimestamp: boolean;\n private includeAppName: boolean;\n private includeTraceId: boolean;\n private includeContext: boolean;\n private timestampFormat: 'iso' | 'locale' | 'short';\n private colors: Record<string, string>;\n\n constructor(\n options: {\n colorize?: boolean;\n includeTimestamp?: boolean;\n includeAppName?: boolean;\n includeTraceId?: boolean;\n includeContext?: boolean;\n timestampFormat?: 'iso' | 'locale' | 'short';\n colors?: Record<string, string>;\n } = {}\n ) {\n this.colorize = options.colorize ?? true;\n this.includeTimestamp = options.includeTimestamp ?? true;\n this.includeAppName = options.includeAppName ?? true;\n this.includeTraceId = options.includeTraceId ?? true;\n this.includeContext = options.includeContext ?? true;\n this.timestampFormat = options.timestampFormat ?? 'locale';\n this.colors = {\n error: '\\x1b[31m', // Red\n warn: '\\x1b[33m', // Yellow\n info: '\\x1b[32m', // Green\n debug: '\\x1b[34m', // Blue\n trace: '\\x1b[35m', // Magenta\n verbose: '\\x1b[36m', // Cyan\n reset: '\\x1b[0m', // Reset\n bold: '\\x1b[1m', // Bold\n dim: '\\x1b[2m', // Dim\n ...options.colors,\n };\n }\n\n format(entry: LogEntry): string {\n const parts: string[] = [];\n\n // Add timestamp\n if (this.includeTimestamp) {\n const timestamp = this.formatTimestamp(entry.timestamp);\n parts.push(this.colorize ? `${this.colors.dim}${timestamp}${this.colors.reset}` : timestamp);\n }\n\n // Add log level\n const levelName = entry.level.toLowerCase();\n const levelColor = this.colors[levelName] || this.colors.reset;\n const formattedLevel = this.colorize\n ? `${levelColor}${this.colors.bold}${levelName.toUpperCase().padEnd(5)}${this.colors.reset}`\n : levelName.toUpperCase().padEnd(5);\n parts.push(`[${formattedLevel}]`);\n\n // Add app name\n if (this.includeAppName) {\n const appName = this.colorize\n ? `${this.colors.bold}${entry.appName}${this.colors.reset}`\n : entry.appName;\n parts.push(`[${appName}]`);\n }\n\n // Add trace ID\n if (this.includeTraceId && entry.traceId) {\n const traceId = this.colorize\n ? `${this.colors.dim}${entry.traceId}${this.colors.reset}`\n : entry.traceId;\n parts.push(`[${traceId}]`);\n }\n\n // Add context\n if (this.includeContext && entry.context) {\n const context = this.colorize\n ? `${this.colors.cyan}${entry.context}${this.colors.reset}`\n : entry.context;\n parts.push(`[${context}]`);\n }\n\n // Add message\n const message =\n this.colorize && entry.level === LogLevel.ERROR\n ? `${this.colors.error}${entry.message}${this.colors.reset}`\n : entry.message;\n parts.push(message);\n\n // Add payload\n if (entry.payload && Object.keys(entry.payload).length > 0) {\n const payload = this.formatPayload(entry.payload);\n if (payload) {\n parts.push(this.colorize ? `${this.colors.dim}${payload}${this.colors.reset}` : payload);\n }\n }\n\n return parts.join(' ');\n }\n\n private formatTimestamp(timestamp: string): string {\n const date = new Date(timestamp);\n\n switch (this.timestampFormat) {\n case 'iso':\n return date.toISOString();\n case 'short':\n return date.toLocaleTimeString();\n case 'locale':\n default:\n return date.toLocaleString();\n }\n }\n\n private formatPayload(payload: Record<string, unknown>): string {\n try {\n // Handle simple objects\n if (Object.keys(payload).length === 1) {\n const entry = Object.entries(payload)[0];\n if (entry) {\n const [key, value] = entry;\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return `${key}=${value}`;\n }\n }\n }\n\n // Handle multiple properties or complex objects\n const formatted = Object.entries(payload)\n .map(([key, value]) => {\n if (value === null || value === undefined) {\n return `${key}=${value}`;\n }\n if (typeof value === 'string') {\n return `${key}=\"${value}\"`;\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return `${key}=${value}`;\n }\n if (value instanceof Date) {\n return `${key}=${value.toISOString()}`;\n }\n if (typeof value === 'object') {\n return `${key}=${JSON.stringify(value)}`;\n }\n return `${key}=${String(value)}`;\n })\n .join(' ');\n\n return formatted;\n } catch {\n return JSON.stringify(payload);\n }\n }\n\n /**\n * Create a formatter with preset configurations\n */\n static createSimple(): TextFormatter {\n return new TextFormatter({\n colorize: true,\n includeTimestamp: true,\n includeAppName: false,\n includeTraceId: false,\n includeContext: true,\n timestampFormat: 'short',\n });\n }\n\n static createDetailed(): TextFormatter {\n return new TextFormatter({\n colorize: true,\n includeTimestamp: true,\n includeAppName: true,\n includeTraceId: true,\n includeContext: true,\n timestampFormat: 'locale',\n });\n }\n\n static createMinimal(): TextFormatter {\n return new TextFormatter({\n colorize: false,\n includeTimestamp: false,\n includeAppName: false,\n includeTraceId: false,\n includeContext: false,\n });\n }\n}\n","/**\n * Logixia - Advanced TypeScript Logger\n *\n * A comprehensive logging library with support for:\n * - Multiple output formats (console, file, JSON)\n * - Trace ID tracking\n * - Performance monitoring\n * - NestJS integration\n * - Customizable log levels and colors\n * - Intelligent log search and aggregation\n * - Natural language query processing\n * - Pattern recognition and anomaly detection\n */\n\nimport { createLogger as createLoggerFromCore, LogixiaLogger } from './core/logitron-logger';\nimport { LogixiaLoggerService } from './core/logitron-nestjs.service';\nimport type { Environment, LogColor, LoggerConfig } from './types';\nimport { LogLevel } from './types';\n\n// Type exports\nexport * from './core/logitron-logger.module';\nexport * from './core/logitron-nestjs.service';\nexport * from './formatters';\nexport * from './types';\nexport * from './utils/error.utils';\nexport { applyRedaction, redactObject } from './utils/redact.utils';\nexport * from './utils/shutdown.utils';\nexport * from './utils/trace.utils';\n\n// Search module exports\nexport * from './search';\n\n// Core exports\nexport { DEFAULT_CONFIG, LogixiaLogger, LogixiaLoggerService };\n\n/**\n * Default configuration for Logixia logger\n */\nconst DEFAULT_CONFIG = {\n appName: 'App',\n environment: 'development' as Environment,\n traceId: true,\n format: {\n timestamp: true,\n colorize: true,\n json: false,\n },\n silent: false,\n levelOptions: {\n level: LogLevel.INFO,\n levels: {\n [LogLevel.ERROR]: 0,\n [LogLevel.WARN]: 1,\n [LogLevel.INFO]: 2,\n [LogLevel.DEBUG]: 3,\n [LogLevel.TRACE]: 4,\n [LogLevel.VERBOSE]: 5,\n },\n colors: {\n [LogLevel.ERROR]: 'red',\n [LogLevel.WARN]: 'yellow',\n [LogLevel.INFO]: 'blue',\n [LogLevel.DEBUG]: 'green',\n [LogLevel.TRACE]: 'gray',\n [LogLevel.VERBOSE]: 'cyan',\n } as Record<string, LogColor>,\n },\n fields: {\n timestamp: true,\n level: true,\n appName: true,\n traceId: true,\n message: true,\n payload: true,\n timeTaken: true,\n },\n outputs: ['console'],\n};\n\n/**\n * Create a new Logixia logger instance with TypeScript support for custom levels\n * @param config - Logger configuration\n * @returns Typed logger instance\n */\nexport const createLogger = createLoggerFromCore;\n\n/**\n * Create a new Logixia logger service for NestJS\n * @param config - Logger configuration\n * @returns LogixiaLoggerService instance\n */\nexport function createLoggerService(config?: Partial<LoggerConfig>): LogixiaLoggerService {\n return new LogixiaLoggerService({ ...DEFAULT_CONFIG, ...config });\n}\n\n/**\n * Default logger instance\n */\nexport const logger = new LogixiaLogger(DEFAULT_CONFIG);\n\n/**\n * Export default configuration for reference\n */\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["formatted: Record<string, unknown>","serializeError","serialized: Record<string, unknown>","parts: string[]","LogLevel","LogLevel","createLoggerFromCore","LogixiaLoggerService","LogixiaLogger"],"sources":["../src/formatters/json.formatter.ts","../src/formatters/text.formatter.ts","../src/index.ts"],"sourcesContent":["/**\n * JSON formatter for Logixia\n */\n\nimport type { ILogFormatter, LogEntry } from '../types';\nimport { serializeError } from '../utils/error.utils';\n\nexport class JsonFormatter implements ILogFormatter {\n private includeTimestamp: boolean;\n private includeLevel: boolean;\n private includeAppName: boolean;\n private includeTraceId: boolean;\n private includeContext: boolean;\n private prettyPrint: boolean;\n\n constructor(\n options: {\n includeTimestamp?: boolean;\n includeLevel?: boolean;\n includeAppName?: boolean;\n includeTraceId?: boolean;\n includeContext?: boolean;\n prettyPrint?: boolean;\n } = {}\n ) {\n this.includeTimestamp = options.includeTimestamp ?? true;\n this.includeLevel = options.includeLevel ?? true;\n this.includeAppName = options.includeAppName ?? true;\n this.includeTraceId = options.includeTraceId ?? true;\n this.includeContext = options.includeContext ?? true;\n this.prettyPrint = options.prettyPrint ?? false;\n }\n\n format(entry: LogEntry): string {\n const formatted: Record<string, unknown> = {};\n\n // Add timestamp\n if (this.includeTimestamp) {\n formatted.timestamp = entry.timestamp;\n }\n\n // Add log level\n if (this.includeLevel) {\n formatted.level = entry.level.toLowerCase();\n formatted.levelValue = entry.level;\n }\n\n // Add app name\n if (this.includeAppName) {\n formatted.appName = entry.appName;\n }\n\n // Add trace ID\n if (this.includeTraceId && entry.traceId) {\n formatted.traceId = entry.traceId;\n }\n\n // Add context\n if (this.includeContext && entry.context) {\n formatted.context = entry.context;\n }\n\n // Add message\n formatted.message = entry.message;\n\n // Add payload\n if (entry.payload && Object.keys(entry.payload).length > 0) {\n formatted.payload = this.serializePayload(entry.payload);\n }\n\n // Add error if present\n if (entry.error) {\n formatted.error = serializeError(entry.error);\n }\n\n // Add metadata\n formatted.meta = {\n pid: process.pid,\n hostname: process.env.HOSTNAME || 'unknown',\n version: process.version,\n };\n\n return this.prettyPrint ? JSON.stringify(formatted, null, 2) : JSON.stringify(formatted);\n }\n\n private serializePayload(payload: Record<string, unknown>): Record<string, unknown> {\n const serialized: Record<string, unknown> = {};\n\n for (const [key, value] of Object.entries(payload)) {\n try {\n if (value instanceof Error) {\n serialized[key] = serializeError(value);\n } else if (value instanceof Date) {\n serialized[key] = value.toISOString();\n } else if (typeof value === 'function') {\n serialized[key] = '[Function]';\n } else if (typeof value === 'symbol') {\n serialized[key] = value.toString();\n } else if (value === undefined) {\n serialized[key] = null;\n } else {\n serialized[key] = value;\n }\n } catch {\n serialized[key] = '[Unserializable]';\n }\n }\n\n return serialized;\n }\n}\n","/**\n * Text formatter for Logixia\n */\n\nimport type { ILogFormatter, LogEntry } from '../types';\nimport { LogLevel } from '../types';\n\nexport class TextFormatter implements ILogFormatter {\n private colorize: boolean;\n private includeTimestamp: boolean;\n private includeAppName: boolean;\n private includeTraceId: boolean;\n private includeContext: boolean;\n private timestampFormat: 'iso' | 'locale' | 'short';\n private colors: Record<string, string>;\n\n constructor(\n options: {\n colorize?: boolean;\n includeTimestamp?: boolean;\n includeAppName?: boolean;\n includeTraceId?: boolean;\n includeContext?: boolean;\n timestampFormat?: 'iso' | 'locale' | 'short';\n colors?: Record<string, string>;\n } = {}\n ) {\n this.colorize = options.colorize ?? true;\n this.includeTimestamp = options.includeTimestamp ?? true;\n this.includeAppName = options.includeAppName ?? true;\n this.includeTraceId = options.includeTraceId ?? true;\n this.includeContext = options.includeContext ?? true;\n this.timestampFormat = options.timestampFormat ?? 'locale';\n this.colors = {\n error: '\\x1b[31m', // Red\n warn: '\\x1b[33m', // Yellow\n info: '\\x1b[32m', // Green\n debug: '\\x1b[34m', // Blue\n trace: '\\x1b[35m', // Magenta\n verbose: '\\x1b[36m', // Cyan\n reset: '\\x1b[0m', // Reset\n bold: '\\x1b[1m', // Bold\n dim: '\\x1b[2m', // Dim\n ...options.colors,\n };\n }\n\n format(entry: LogEntry): string {\n const parts: string[] = [];\n\n // Add timestamp\n if (this.includeTimestamp) {\n const timestamp = this.formatTimestamp(entry.timestamp);\n parts.push(this.colorize ? `${this.colors.dim}${timestamp}${this.colors.reset}` : timestamp);\n }\n\n // Add log level\n const levelName = entry.level.toLowerCase();\n const levelColor = this.colors[levelName] || this.colors.reset;\n const formattedLevel = this.colorize\n ? `${levelColor}${this.colors.bold}${levelName.toUpperCase().padEnd(5)}${this.colors.reset}`\n : levelName.toUpperCase().padEnd(5);\n parts.push(`[${formattedLevel}]`);\n\n // Add app name\n if (this.includeAppName) {\n const appName = this.colorize\n ? `${this.colors.bold}${entry.appName}${this.colors.reset}`\n : entry.appName;\n parts.push(`[${appName}]`);\n }\n\n // Add trace ID\n if (this.includeTraceId && entry.traceId) {\n const traceId = this.colorize\n ? `${this.colors.dim}${entry.traceId}${this.colors.reset}`\n : entry.traceId;\n parts.push(`[${traceId}]`);\n }\n\n // Add context\n if (this.includeContext && entry.context) {\n const context = this.colorize\n ? `${this.colors.cyan}${entry.context}${this.colors.reset}`\n : entry.context;\n parts.push(`[${context}]`);\n }\n\n // Add message\n const message =\n this.colorize && entry.level === LogLevel.ERROR\n ? `${this.colors.error}${entry.message}${this.colors.reset}`\n : entry.message;\n parts.push(message);\n\n // Add payload\n if (entry.payload && Object.keys(entry.payload).length > 0) {\n const payload = this.formatPayload(entry.payload);\n if (payload) {\n parts.push(this.colorize ? `${this.colors.dim}${payload}${this.colors.reset}` : payload);\n }\n }\n\n return parts.join(' ');\n }\n\n private formatTimestamp(timestamp: string): string {\n const date = new Date(timestamp);\n\n switch (this.timestampFormat) {\n case 'iso':\n return date.toISOString();\n case 'short':\n return date.toLocaleTimeString();\n case 'locale':\n default:\n return date.toLocaleString();\n }\n }\n\n private formatPayload(payload: Record<string, unknown>): string {\n try {\n // Handle simple objects\n if (Object.keys(payload).length === 1) {\n const entry = Object.entries(payload)[0];\n if (entry) {\n const [key, value] = entry;\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return `${key}=${value}`;\n }\n }\n }\n\n // Handle multiple properties or complex objects\n const formatted = Object.entries(payload)\n .map(([key, value]) => {\n if (value === null || value === undefined) {\n return `${key}=${value}`;\n }\n if (typeof value === 'string') {\n return `${key}=\"${value}\"`;\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return `${key}=${value}`;\n }\n if (value instanceof Date) {\n return `${key}=${value.toISOString()}`;\n }\n if (typeof value === 'object') {\n return `${key}=${JSON.stringify(value)}`;\n }\n return `${key}=${String(value)}`;\n })\n .join(' ');\n\n return formatted;\n } catch {\n return JSON.stringify(payload);\n }\n }\n\n /**\n * Create a formatter with preset configurations\n */\n static createSimple(): TextFormatter {\n return new TextFormatter({\n colorize: true,\n includeTimestamp: true,\n includeAppName: false,\n includeTraceId: false,\n includeContext: true,\n timestampFormat: 'short',\n });\n }\n\n static createDetailed(): TextFormatter {\n return new TextFormatter({\n colorize: true,\n includeTimestamp: true,\n includeAppName: true,\n includeTraceId: true,\n includeContext: true,\n timestampFormat: 'locale',\n });\n }\n\n static createMinimal(): TextFormatter {\n return new TextFormatter({\n colorize: false,\n includeTimestamp: false,\n includeAppName: false,\n includeTraceId: false,\n includeContext: false,\n });\n }\n}\n","/**\n * Logixia - Advanced TypeScript Logger\n *\n * A comprehensive logging library with support for:\n * - Multiple output formats (console, file, JSON)\n * - Trace ID tracking\n * - Performance monitoring\n * - NestJS integration\n * - Customizable log levels and colors\n * - Intelligent log search and aggregation\n * - Natural language query processing\n * - Pattern recognition and anomaly detection\n */\n\nimport { createLogger as createLoggerFromCore, LogixiaLogger } from './core/logitron-logger';\nimport { LogixiaLoggerService } from './core/logitron-nestjs.service';\nimport type { Environment, LogColor, LoggerConfig } from './types';\nimport { LogLevel } from './types';\n\n// Type exports\nexport * from './core/logitron-logger.module';\nexport * from './core/logitron-nestjs.service';\nexport * from './formatters';\nexport * from './types';\nexport * from './utils/error.utils';\nexport { applyRedaction, redactObject } from './utils/redact.utils';\nexport * from './utils/shutdown.utils';\nexport * from './utils/trace.utils';\n\n// Search module exports\nexport * from './search';\n\n// Context propagation (AsyncLocalStorage)\nexport type { LogContext } from './context/async-context';\nexport {\n createExpressContextMiddleware,\n createFastifyContextHook,\n LogixiaContext,\n} from './context/async-context';\n\n// Sampling stats (SamplingConfig is already exported via ./types)\nexport type { SamplingStats } from './utils/sampling.utils';\n\n// Core exports\nexport { DEFAULT_CONFIG, LogixiaLogger, LogixiaLoggerService };\n\n/**\n * Default configuration for Logixia logger\n */\nconst DEFAULT_CONFIG = {\n appName: 'App',\n environment: 'development' as Environment,\n traceId: true,\n format: {\n timestamp: true,\n colorize: true,\n json: false,\n },\n silent: false,\n levelOptions: {\n level: LogLevel.INFO,\n levels: {\n [LogLevel.ERROR]: 0,\n [LogLevel.WARN]: 1,\n [LogLevel.INFO]: 2,\n [LogLevel.DEBUG]: 3,\n [LogLevel.TRACE]: 4,\n [LogLevel.VERBOSE]: 5,\n },\n colors: {\n [LogLevel.ERROR]: 'red',\n [LogLevel.WARN]: 'yellow',\n [LogLevel.INFO]: 'blue',\n [LogLevel.DEBUG]: 'green',\n [LogLevel.TRACE]: 'gray',\n [LogLevel.VERBOSE]: 'cyan',\n } as Record<string, LogColor>,\n },\n fields: {\n timestamp: true,\n level: true,\n appName: true,\n traceId: true,\n message: true,\n payload: true,\n timeTaken: true,\n },\n outputs: ['console'],\n};\n\n/**\n * Create a new Logixia logger instance with TypeScript support for custom levels\n * @param config - Logger configuration\n * @returns Typed logger instance\n */\nexport const createLogger = createLoggerFromCore;\n\n/**\n * Create a new Logixia logger service for NestJS\n * @param config - Logger configuration\n * @returns LogixiaLoggerService instance\n */\nexport function createLoggerService(config?: Partial<LoggerConfig>): LogixiaLoggerService {\n return new LogixiaLoggerService({ ...DEFAULT_CONFIG, ...config });\n}\n\n/**\n * Default logger instance\n */\nexport const logger = new LogixiaLogger(DEFAULT_CONFIG);\n\n/**\n * Export default configuration for reference\n */\n"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import "./transport.manager-Vi__pagn.mjs";
2
- import { C as redactObject, D as DEFAULT_LOG_COLORS, E as serializeError, O as DEFAULT_LOG_LEVELS, S as applyRedaction, T as normalizeError, _ as traceStorage, b as registerForShutdown, c as LogixiaLogger, d as createTraceMiddleware, f as extractTraceId, g as setTraceId, h as runWithTraceId, i as WebSocketTraceInterceptor, k as LogLevel, l as createLogger$1, m as getCurrentTraceId, n as LOGIXIA_LOGGER_PREFIX, o as KafkaTraceInterceptor, p as generateTraceId, r as LogixiaLoggerModule, s as LogixiaLoggerService, t as LOGIXIA_LOGGER_CONFIG, u as DEFAULT_TRACE_HEADERS, v as deregisterFromShutdown, w as isError, x as resetShutdownHandlers, y as flushOnExit } from "./logitron-logger.module-iO8DPE7_.mjs";
1
+ import { A as LogixiaContext, C as redactObject, D as DEFAULT_LOG_COLORS, E as serializeError, M as createFastifyContextHook, O as DEFAULT_LOG_LEVELS, S as applyRedaction, T as normalizeError, _ as traceStorage, b as registerForShutdown, c as LogixiaLogger, d as createTraceMiddleware, f as extractTraceId, g as setTraceId, h as runWithTraceId, i as WebSocketTraceInterceptor, j as createExpressContextMiddleware, k as LogLevel, l as createLogger$1, m as getCurrentTraceId, n as LOGIXIA_LOGGER_PREFIX, o as KafkaTraceInterceptor, p as generateTraceId, r as LogixiaLoggerModule, s as LogixiaLoggerService, t as LOGIXIA_LOGGER_CONFIG, u as DEFAULT_TRACE_HEADERS, v as deregisterFromShutdown, w as isError, x as resetShutdownHandlers, y as flushOnExit } from "./logitron-logger.module-2AzkadqZ.mjs";
2
+ import "./transport.manager-5VVdqS3o.mjs";
3
3
  import "./search-1txemGPh.mjs";
4
4
 
5
5
  //#region src/formatters/json.formatter.ts
@@ -236,5 +236,5 @@ const logger = new LogixiaLogger(DEFAULT_CONFIG);
236
236
  */
237
237
 
238
238
  //#endregion
239
- export { DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogLevel, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, TextFormatter, WebSocketTraceInterceptor, applyRedaction, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
239
+ export { DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LogLevel, LogixiaContext, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, TextFormatter, WebSocketTraceInterceptor, applyRedaction, createExpressContextMiddleware, createFastifyContextHook, createLogger, createLoggerService, createTraceMiddleware, deregisterFromShutdown, extractTraceId, flushOnExit, generateTraceId, getCurrentTraceId, isError, logger, normalizeError, redactObject, registerForShutdown, resetShutdownHandlers, runWithTraceId, serializeError, setTraceId, traceStorage };
240
240
  //# sourceMappingURL=index.mjs.map