logixia 1.13.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +117 -44
  2. package/dist/async-context-B05ArHgM.mjs +134 -0
  3. package/dist/async-context-B05ArHgM.mjs.map +1 -0
  4. package/dist/async-context-DTQgi8f7.js +150 -0
  5. package/dist/async-context-DTQgi8f7.js.map +1 -0
  6. package/dist/{azure-monitor.transport-CHnjVRF-.mjs → azure-monitor.transport-BPbgjATu.mjs} +27 -15
  7. package/dist/azure-monitor.transport-BPbgjATu.mjs.map +1 -0
  8. package/dist/{azure-monitor.transport-BDFO4F-i.d.ts → azure-monitor.transport-C7kYyZUW.d.mts} +3 -6
  9. package/dist/azure-monitor.transport-C7kYyZUW.d.mts.map +1 -0
  10. package/dist/{azure-monitor.transport-CrvfHd9C.js → azure-monitor.transport-CwbOLZHB.js} +32 -20
  11. package/dist/azure-monitor.transport-CwbOLZHB.js.map +1 -0
  12. package/dist/{azure-monitor.transport-D5wQEH04.d.mts → azure-monitor.transport-DV03Z5P4.d.ts} +3 -6
  13. package/dist/azure-monitor.transport-DV03Z5P4.d.ts.map +1 -0
  14. package/dist/azure.d.mts +1 -2
  15. package/dist/azure.d.ts +1 -2
  16. package/dist/azure.js +3 -6
  17. package/dist/azure.mjs +1 -6
  18. package/dist/{batch-buffer-PGvSgbmd.mjs → batch-buffer-0fgLmIPn.mjs} +21 -7
  19. package/dist/batch-buffer-0fgLmIPn.mjs.map +1 -0
  20. package/dist/{batch-buffer-BY-mRWIK.js → batch-buffer-DT4gdXmf.js} +53 -40
  21. package/dist/batch-buffer-DT4gdXmf.js.map +1 -0
  22. package/dist/browser.d.mts +52 -23
  23. package/dist/browser.d.mts.map +1 -1
  24. package/dist/browser.d.ts +52 -23
  25. package/dist/browser.d.ts.map +1 -1
  26. package/dist/browser.js +460 -62
  27. package/dist/browser.js.map +1 -1
  28. package/dist/browser.mjs +461 -65
  29. package/dist/browser.mjs.map +1 -1
  30. package/dist/{nestjs-extras-ImbuDhs1.mjs → builder-D70z6kjj.mjs} +279 -965
  31. package/dist/builder-D70z6kjj.mjs.map +1 -0
  32. package/dist/{nestjs-extras-DnJ6vrIC.js → builder-M7NoaugM.js} +421 -1177
  33. package/dist/builder-M7NoaugM.js.map +1 -0
  34. package/dist/cli/index.js +86 -67
  35. package/dist/cloudwatch.d.mts +1 -2
  36. package/dist/cloudwatch.d.ts +1 -2
  37. package/dist/cloudwatch.js +3 -7
  38. package/dist/cloudwatch.mjs +1 -7
  39. package/dist/{cloudwatch.transport-BO1ahxw-.js → cloudwatch.transport-B2wKQFF7.js} +61 -36
  40. package/dist/cloudwatch.transport-B2wKQFF7.js.map +1 -0
  41. package/dist/{cloudwatch.transport-DZ6ies7g.mjs → cloudwatch.transport-BTvYfLs9.mjs} +54 -28
  42. package/dist/cloudwatch.transport-BTvYfLs9.mjs.map +1 -0
  43. package/dist/{cloudwatch.transport-B00st6Xv.d.ts → cloudwatch.transport-Bf7L4I59.d.ts} +2 -6
  44. package/dist/cloudwatch.transport-Bf7L4I59.d.ts.map +1 -0
  45. package/dist/{cloudwatch.transport-Blc7Gtxt.d.mts → cloudwatch.transport-Rj4yTpRn.d.mts} +2 -6
  46. package/dist/cloudwatch.transport-Rj4yTpRn.d.mts.map +1 -0
  47. package/dist/{coerce.utils-Cu6IUTgX.mjs → coerce.utils-B_rEudCn.mjs} +3 -4
  48. package/dist/{coerce.utils-Cu6IUTgX.mjs.map → coerce.utils-B_rEudCn.mjs.map} +1 -1
  49. package/dist/{coerce.utils-B-LilukN.js → coerce.utils-C1C5sIX0.js} +8 -10
  50. package/dist/{coerce.utils-B-LilukN.js.map → coerce.utils-C1C5sIX0.js.map} +1 -1
  51. package/dist/correlation.d.mts +13 -16
  52. package/dist/correlation.d.mts.map +1 -1
  53. package/dist/correlation.d.ts +13 -16
  54. package/dist/correlation.d.ts.map +1 -1
  55. package/dist/correlation.js +58 -9
  56. package/dist/correlation.js.map +1 -1
  57. package/dist/correlation.mjs +56 -6
  58. package/dist/correlation.mjs.map +1 -1
  59. package/dist/{entry-fields-BJkuPnIg.mjs → entry-fields-CGuvT2R0.mjs} +5 -6
  60. package/dist/entry-fields-CGuvT2R0.mjs.map +1 -0
  61. package/dist/{entry-fields-BvOLFlJ4.js → entry-fields-RLd1jCoR.js} +10 -12
  62. package/dist/entry-fields-RLd1jCoR.js.map +1 -0
  63. package/dist/gcp.d.mts +1 -2
  64. package/dist/gcp.d.ts +1 -2
  65. package/dist/gcp.js +3 -7
  66. package/dist/gcp.mjs +1 -7
  67. package/dist/{gcp.transport-m4fVw0b1.d.ts → gcp.transport-C5D72b1g.d.mts} +3 -6
  68. package/dist/gcp.transport-C5D72b1g.d.mts.map +1 -0
  69. package/dist/{gcp.transport-zzNyIoih.d.mts → gcp.transport-CFQfdAOK.d.ts} +3 -6
  70. package/dist/gcp.transport-CFQfdAOK.d.ts.map +1 -0
  71. package/dist/{gcp.transport-DBX5TPIy.mjs → gcp.transport-CGKopAhQ.mjs} +55 -16
  72. package/dist/gcp.transport-CGKopAhQ.mjs.map +1 -0
  73. package/dist/{gcp.transport-CHV8MGgz.js → gcp.transport-KZe9hCAR.js} +60 -22
  74. package/dist/gcp.transport-KZe9hCAR.js.map +1 -0
  75. package/dist/{index-nZEeCr3X.d.ts → index-DwozbmB4.d.ts} +3 -8
  76. package/dist/index-DwozbmB4.d.ts.map +1 -0
  77. package/dist/{index-BPwEisy4.d.mts → index-xqaJtAZn.d.mts} +3 -8
  78. package/dist/index-xqaJtAZn.d.mts.map +1 -0
  79. package/dist/index.d.mts +141 -203
  80. package/dist/index.d.mts.map +1 -1
  81. package/dist/index.d.ts +140 -202
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +196 -381
  84. package/dist/index.js.map +1 -1
  85. package/dist/index.mjs +145 -294
  86. package/dist/index.mjs.map +1 -1
  87. package/dist/internal-log-b0Vp4qrB.js +183 -0
  88. package/dist/internal-log-b0Vp4qrB.js.map +1 -0
  89. package/dist/internal-log-uCSd1PMc.mjs +142 -0
  90. package/dist/internal-log-uCSd1PMc.mjs.map +1 -0
  91. package/dist/logitron-logger-D2B75Oc7.d.ts +365 -0
  92. package/dist/logitron-logger-D2B75Oc7.d.ts.map +1 -0
  93. package/dist/logitron-logger-oEd6wNhf.d.mts +365 -0
  94. package/dist/logitron-logger-oEd6wNhf.d.mts.map +1 -0
  95. package/dist/middleware.d.mts +10 -12
  96. package/dist/middleware.d.mts.map +1 -1
  97. package/dist/middleware.d.ts +10 -12
  98. package/dist/middleware.d.ts.map +1 -1
  99. package/dist/middleware.js +16 -47
  100. package/dist/middleware.js.map +1 -1
  101. package/dist/middleware.mjs +13 -45
  102. package/dist/middleware.mjs.map +1 -1
  103. package/dist/nest.d.mts +467 -10
  104. package/dist/nest.d.mts.map +1 -1
  105. package/dist/nest.d.ts +467 -10
  106. package/dist/nest.d.ts.map +1 -1
  107. package/dist/nest.js +889 -43
  108. package/dist/nest.js.map +1 -0
  109. package/dist/nest.mjs +850 -9
  110. package/dist/nest.mjs.map +1 -0
  111. package/dist/{trace.utils-CvXgaiQT.mjs → request-trace-C_fvIDv4.mjs} +44 -9
  112. package/dist/request-trace-C_fvIDv4.mjs.map +1 -0
  113. package/dist/{trace.utils-DpBOLDtq.js → request-trace-wTJdKp6-.js} +121 -77
  114. package/dist/request-trace-wTJdKp6-.js.map +1 -0
  115. package/dist/rolldown-runtime-D3PmRqjj.mjs +4 -0
  116. package/dist/{safe-stringify-DJ66tW5I.mjs → safe-stringify-BMRl3EX3.mjs} +3 -4
  117. package/dist/safe-stringify-BMRl3EX3.mjs.map +1 -0
  118. package/dist/{safe-stringify-DWo3aZp_.js → safe-stringify-DLz1Kz3o.js} +23 -25
  119. package/dist/safe-stringify-DLz1Kz3o.js.map +1 -0
  120. package/dist/{search-CHUZPl0h.d.ts → search-BH33XhuU.d.mts} +2 -22
  121. package/dist/search-BH33XhuU.d.mts.map +1 -0
  122. package/dist/{search-DjXSn6v5.mjs → search-CWMVYC-R.mjs} +34 -41
  123. package/dist/search-CWMVYC-R.mjs.map +1 -0
  124. package/dist/{search-BfBzDIT9.d.mts → search-CazwyX5Z.d.ts} +2 -22
  125. package/dist/search-CazwyX5Z.d.ts.map +1 -0
  126. package/dist/{search-B0MH1SJJ.js → search-DUfWuzFP.js} +64 -71
  127. package/dist/search-DUfWuzFP.js.map +1 -0
  128. package/dist/search.d.mts +2 -4
  129. package/dist/search.d.ts +2 -4
  130. package/dist/search.js +3 -4
  131. package/dist/search.mjs +1 -4
  132. package/dist/secret-config-BegMLkYl.mjs +209 -0
  133. package/dist/secret-config-BegMLkYl.mjs.map +1 -0
  134. package/dist/secret-config-CBZBs0p1.js +271 -0
  135. package/dist/secret-config-CBZBs0p1.js.map +1 -0
  136. package/dist/slack.transport-Ce96JBDk.mjs +824 -0
  137. package/dist/slack.transport-Ce96JBDk.mjs.map +1 -0
  138. package/dist/slack.transport-Dlx3xvb7.js +847 -0
  139. package/dist/slack.transport-Dlx3xvb7.js.map +1 -0
  140. package/dist/slack.transport-DrirgDNy.d.ts +159 -0
  141. package/dist/slack.transport-DrirgDNy.d.ts.map +1 -0
  142. package/dist/slack.transport-DxHOXlLu.d.mts +159 -0
  143. package/dist/slack.transport-DxHOXlLu.d.mts.map +1 -0
  144. package/dist/testing.d.mts +3 -8
  145. package/dist/testing.d.mts.map +1 -1
  146. package/dist/testing.d.ts +3 -8
  147. package/dist/testing.d.ts.map +1 -1
  148. package/dist/testing.js +3 -4
  149. package/dist/testing.js.map +1 -1
  150. package/dist/testing.mjs +2 -3
  151. package/dist/testing.mjs.map +1 -1
  152. package/dist/{transport.manager-Crau3Rle.js → transport.manager-DkcEOlqV.js} +331 -234
  153. package/dist/transport.manager-DkcEOlqV.js.map +1 -0
  154. package/dist/{transport.manager-CpdVHEGP.mjs → transport.manager-eZ_EeC00.mjs} +274 -178
  155. package/dist/transport.manager-eZ_EeC00.mjs.map +1 -0
  156. package/dist/{transport.types-CtNr3D7S.d.mts → transport.types-BJVL1QQl.d.mts} +5 -4
  157. package/dist/transport.types-BJVL1QQl.d.mts.map +1 -0
  158. package/dist/{transport.types-DqVLZTyf.d.ts → transport.types-BJVL1QQl.d.ts} +5 -4
  159. package/dist/transport.types-BJVL1QQl.d.ts.map +1 -0
  160. package/dist/transports.d.mts +32 -41
  161. package/dist/transports.d.mts.map +1 -1
  162. package/dist/transports.d.ts +32 -41
  163. package/dist/transports.d.ts.map +1 -1
  164. package/dist/transports.js +12 -12
  165. package/dist/transports.mjs +7 -12
  166. package/dist/worker-entry.js +337 -87
  167. package/dist/worker.d.mts +1 -2
  168. package/dist/worker.d.ts +1 -2
  169. package/dist/worker.js +3 -4
  170. package/dist/worker.mjs +1 -4
  171. package/dist/{worker.transport-Bj-i0P9V.d.ts → worker.transport-BuPwBi3d.d.ts} +2 -6
  172. package/dist/worker.transport-BuPwBi3d.d.ts.map +1 -0
  173. package/dist/{worker.transport-JP8YHBuU.js → worker.transport-C6GNl_r2.js} +44 -14
  174. package/dist/worker.transport-C6GNl_r2.js.map +1 -0
  175. package/dist/{worker.transport-otwhJ_Et.mjs → worker.transport-DLVA4y2e.mjs} +39 -9
  176. package/dist/worker.transport-DLVA4y2e.mjs.map +1 -0
  177. package/dist/{worker.transport-Bgv9heDI.d.mts → worker.transport-hJay1wxA.d.mts} +2 -6
  178. package/dist/worker.transport-hJay1wxA.d.mts.map +1 -0
  179. package/package.json +36 -19
  180. package/dist/async-context-BzJrbfQs.mjs +0 -72
  181. package/dist/async-context-BzJrbfQs.mjs.map +0 -1
  182. package/dist/async-context-DyQQYq3I.js +0 -92
  183. package/dist/async-context-DyQQYq3I.js.map +0 -1
  184. package/dist/azure-monitor.transport-BDFO4F-i.d.ts.map +0 -1
  185. package/dist/azure-monitor.transport-CHnjVRF-.mjs.map +0 -1
  186. package/dist/azure-monitor.transport-CrvfHd9C.js.map +0 -1
  187. package/dist/azure-monitor.transport-D5wQEH04.d.mts.map +0 -1
  188. package/dist/batch-buffer-BY-mRWIK.js.map +0 -1
  189. package/dist/batch-buffer-PGvSgbmd.mjs.map +0 -1
  190. package/dist/chunk-DLSkYcPk.mjs +0 -7
  191. package/dist/chunk-nOFOJqeH.js +0 -30
  192. package/dist/cloudwatch.transport-B00st6Xv.d.ts.map +0 -1
  193. package/dist/cloudwatch.transport-BO1ahxw-.js.map +0 -1
  194. package/dist/cloudwatch.transport-Blc7Gtxt.d.mts.map +0 -1
  195. package/dist/cloudwatch.transport-DZ6ies7g.mjs.map +0 -1
  196. package/dist/entry-fields-BJkuPnIg.mjs.map +0 -1
  197. package/dist/entry-fields-BvOLFlJ4.js.map +0 -1
  198. package/dist/gcp.transport-CHV8MGgz.js.map +0 -1
  199. package/dist/gcp.transport-DBX5TPIy.mjs.map +0 -1
  200. package/dist/gcp.transport-m4fVw0b1.d.ts.map +0 -1
  201. package/dist/gcp.transport-zzNyIoih.d.mts.map +0 -1
  202. package/dist/index-BPwEisy4.d.mts.map +0 -1
  203. package/dist/index-nZEeCr3X.d.ts.map +0 -1
  204. package/dist/internal-log-BUJYMZbE.js +0 -70
  205. package/dist/internal-log-BUJYMZbE.js.map +0 -1
  206. package/dist/internal-log-Cm8SOWSV.mjs +0 -52
  207. package/dist/internal-log-Cm8SOWSV.mjs.map +0 -1
  208. package/dist/nestjs-extras-DnJ6vrIC.js.map +0 -1
  209. package/dist/nestjs-extras-ImbuDhs1.mjs.map +0 -1
  210. package/dist/nestjs-extras-OkC796py.d.mts +0 -725
  211. package/dist/nestjs-extras-OkC796py.d.mts.map +0 -1
  212. package/dist/nestjs-extras-mKrHE9S6.d.ts +0 -725
  213. package/dist/nestjs-extras-mKrHE9S6.d.ts.map +0 -1
  214. package/dist/safe-stringify-DJ66tW5I.mjs.map +0 -1
  215. package/dist/safe-stringify-DWo3aZp_.js.map +0 -1
  216. package/dist/search-B0MH1SJJ.js.map +0 -1
  217. package/dist/search-BfBzDIT9.d.mts.map +0 -1
  218. package/dist/search-CHUZPl0h.d.ts.map +0 -1
  219. package/dist/search-DjXSn6v5.mjs.map +0 -1
  220. package/dist/trace.utils-CvXgaiQT.mjs.map +0 -1
  221. package/dist/trace.utils-DpBOLDtq.js.map +0 -1
  222. package/dist/transport.manager-CpdVHEGP.mjs.map +0 -1
  223. package/dist/transport.manager-Crau3Rle.js.map +0 -1
  224. package/dist/transport.types-CtNr3D7S.d.mts.map +0 -1
  225. package/dist/transport.types-DqVLZTyf.d.ts.map +0 -1
  226. package/dist/worker.transport-Bgv9heDI.d.mts.map +0 -1
  227. package/dist/worker.transport-Bj-i0P9V.d.ts.map +0 -1
  228. package/dist/worker.transport-JP8YHBuU.js.map +0 -1
  229. package/dist/worker.transport-otwhJ_Et.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,16 +1,14 @@
1
- import { n as internalLog, r as internalWarn } from "./internal-log-Cm8SOWSV.mjs";
2
- import { i as stringifyForLog, n as retrocycle, r as safeStringify, t as decycleValue } from "./safe-stringify-DJ66tW5I.mjs";
3
- import { i as HttpError, n as DEFAULT_MAX_BUFFER_SIZE, r as DEFAULT_REQUEST_TIMEOUT_MS, t as BatchBuffer } from "./batch-buffer-PGvSgbmd.mjs";
4
- import "./entry-fields-BJkuPnIg.mjs";
5
- import { a as _setActiveContextKey, c as getCurrentTraceId, d as sanitizeIncomingId, f as setTraceId, i as TraceContext, l as getTraceContextKey, n as MAX_INCOMING_ID_LENGTH, o as createTraceMiddleware, p as traceStorage, r as TRACE_CONTEXT_KEY, s as extractTraceId, t as DEFAULT_TRACE_HEADERS, u as runWithTraceId } from "./trace.utils-CvXgaiQT.mjs";
6
- import { n as createExpressContextMiddleware, r as createFastifyContextHook, t as LogixiaContext } from "./async-context-BzJrbfQs.mjs";
7
- import { A as initOtelBridge, C as registerForShutdown, D as disableOtelBridge, E as redactObject, F as DEFAULT_LOG_LEVELS, I as LogLevel, L as PluginRegistry, M as normalizeError, N as serializeError, O as getActiveOtelContext, P as DEFAULT_LOG_COLORS, R as globalPluginRegistry, S as flushOnExit, T as applyRedaction, _ as LogixiaLoggerService, a as ErrorResponseBuilder, b as _shutdownRegistrySize, c as LogixiaException, d as LOGIXIA_LOGGER_PREFIX, f as LOGIXIA_TRACE_CONFIG, g as KafkaTraceInterceptor, i as LogixiaExceptionFilter, j as isError, k as getOtelMetaFields, l as isLogixiaException, m as WebSocketTraceInterceptor, n as LOGIXIA_EXCEPTION_FILTER_OPTIONS, o as generateRequestId, p as LogixiaLoggerModule, r as LogMethod, s as generateTraceId, t as InjectLogger, u as LOGIXIA_LOGGER_CONFIG, v as LogixiaLogger, w as resetShutdownHandlers, x as deregisterFromShutdown, y as createLogger$1, z as usePlugin } from "./nestjs-extras-ImbuDhs1.mjs";
8
- import { t as safeToString } from "./coerce.utils-Cu6IUTgX.mjs";
9
- import { u as stripControlChars } from "./transport.manager-CpdVHEGP.mjs";
10
- import { a as BasicSearchEngine, i as CorrelationEngine, n as PatternRecognitionEngine, o as BasicLogIndexer, r as NLPSearchEngine, t as SearchManager } from "./search-DjXSn6v5.mjs";
1
+ import { C as globalPluginRegistry, D as DEFAULT_LOG_LEVELS, E as DEFAULT_LOG_COLORS, O as LogLevel, S as PluginRegistry, T as DEFAULT_CONFIG, _ as getOtelMetaFields, a as isLogixiaException, b as normalizeError, c as _shutdownRegistrySize, d as registerForShutdown, f as resetShutdownHandlers, g as getActiveOtelContext, h as disableOtelBridge, i as LogixiaException, l as deregisterFromShutdown, m as redactObject, n as generateRequestId, o as LogixiaLogger, p as applyRedaction, r as generateTraceId, s as createLogger$1, t as ErrorResponseBuilder, u as flushOnExit, v as initOtelBridge, w as usePlugin, x as serializeError, y as isError } from "./builder-D70z6kjj.mjs";
2
+ import { a as TRACE_CONTEXT_KEY, c as createTraceMiddleware, d as getTraceContextKey, f as runWithTraceId, h as traceStorage, i as MAX_INCOMING_ID_LENGTH, l as extractTraceId, m as setTraceId, o as TraceContext, p as sanitizeIncomingId, r as DEFAULT_TRACE_HEADERS, s as _setActiveContextKey, u as getCurrentTraceId } from "./request-trace-C_fvIDv4.mjs";
3
+ import { n as createExpressContextMiddleware, r as createFastifyContextHook, t as LogixiaContext } from "./async-context-B05ArHgM.mjs";
4
+ import { n as internalLog, r as internalWarn } from "./internal-log-uCSd1PMc.mjs";
5
+ import { t as safeToString } from "./coerce.utils-B_rEudCn.mjs";
6
+ import { i as stringifyForLog, n as retrocycle, r as safeStringify, t as decycleValue } from "./safe-stringify-BMRl3EX3.mjs";
7
+ import { d as stripControlChars } from "./transport.manager-eZ_EeC00.mjs";
8
+ import { i as toOtelSeverity, n as DiscordTransport, r as OtlpLogTransport, t as SlackTransport } from "./slack.transport-Ce96JBDk.mjs";
9
+ import { a as BasicSearchEngine, i as CorrelationEngine, n as PatternRecognitionEngine, o as BasicLogIndexer, r as NLPSearchEngine, t as SearchManager } from "./search-CWMVYC-R.mjs";
11
10
  import { AsyncLocalStorage } from "node:async_hooks";
12
-
13
- //#region src/formatters/json.formatter.ts
11
+ // src/formatters/json.formatter.ts
14
12
  /**
15
13
  * Build a JSON.stringify replacer that replaces circular references with the
16
14
  * string '[Circular]' instead of throwing. A fresh replacer must be created per
@@ -74,9 +72,7 @@ var JsonFormatter = class {
74
72
  return serialized;
75
73
  }
76
74
  };
77
-
78
- //#endregion
79
- //#region src/formatters/text.formatter.ts
75
+ // src/formatters/text.formatter.ts
80
76
  const stripControls = (value) => stripControlChars(safeToString(value));
81
77
  var TextFormatter = class TextFormatter {
82
78
  constructor(options = {}) {
@@ -138,7 +134,6 @@ var TextFormatter = class TextFormatter {
138
134
  switch (this.timestampFormat) {
139
135
  case "iso": return date.toISOString();
140
136
  case "short": return date.toLocaleTimeString();
141
- case "locale":
142
137
  default: return date.toLocaleString();
143
138
  }
144
139
  }
@@ -196,9 +191,7 @@ var TextFormatter = class TextFormatter {
196
191
  });
197
192
  }
198
193
  };
199
-
200
- //#endregion
201
- //#region src/utils/runtime-control.ts
194
+ // src/utils/runtime-control.ts
202
195
  const DEFAULT_CYCLE = [
203
196
  "error",
204
197
  "warn",
@@ -215,13 +208,14 @@ const DEFAULT_CYCLE = [
215
208
  * memorizable command (`kill -USR2 <pid>`) is enough to ratchet verbosity up
216
209
  * while chasing a bug and back down again — no value to remember.
217
210
  */
218
- function registerLevelSignal(logger$1, options = {}) {
211
+ function registerLevelSignal(logger, options = {}) {
219
212
  const signal = options.signal ?? "SIGUSR2";
220
213
  const cycle = options.cycle && options.cycle.length > 0 ? options.cycle : [...DEFAULT_CYCLE];
221
214
  const handler = () => {
222
- const current = logger$1.getLevel();
223
- const next = cycle[(cycle.indexOf(current) + 1) % cycle.length];
224
- logger$1.setLevel(next);
215
+ const current = logger.getLevel();
216
+ const idx = cycle.indexOf(current);
217
+ const next = cycle[(idx + 1) % cycle.length];
218
+ logger.setLevel(next);
225
219
  internalLog(`runtime level changed via ${signal}: ${current} → ${next}`);
226
220
  };
227
221
  process.on(signal, handler);
@@ -230,7 +224,7 @@ function registerLevelSignal(logger$1, options = {}) {
230
224
  };
231
225
  }
232
226
  /** Maximum accepted request body size for the level control handler. */
233
- const MAX_BODY_BYTES = 16 * 1024;
227
+ const MAX_BODY_BYTES = 16384;
234
228
  function isJsonContentType(req) {
235
229
  var _req$headers;
236
230
  const raw = (_req$headers = req.headers) === null || _req$headers === void 0 ? void 0 : _req$headers["content-type"];
@@ -238,7 +232,7 @@ function isJsonContentType(req) {
238
232
  if (typeof value !== "string") return false;
239
233
  return value.split(";")[0].trim().toLowerCase() === "application/json";
240
234
  }
241
- const VALID_LEVELS = new Set([
235
+ const VALID_LEVELS = /* @__PURE__ */ new Set([
242
236
  "error",
243
237
  "warn",
244
238
  "info",
@@ -267,13 +261,13 @@ const VALID_LEVELS = new Set([
267
261
  * which also keeps cross-site form posts out) and a body of at most 16 KB
268
262
  * (otherwise 413).
269
263
  */
270
- function createLevelControlHandler(logger$1, options = {}) {
264
+ function createLevelControlHandler(logger, options = {}) {
271
265
  const allowed = options.allowedLevels && options.allowedLevels.length > 0 ? new Set(options.allowedLevels.map((l) => l.toLowerCase())) : VALID_LEVELS;
272
266
  const snapshot = () => {
273
267
  var _logger$getNamespaceL;
274
268
  return {
275
- level: logger$1.getLevel(),
276
- namespaceLevels: ((_logger$getNamespaceL = logger$1.getNamespaceLevels) === null || _logger$getNamespaceL === void 0 ? void 0 : _logger$getNamespaceL.call(logger$1)) ?? {}
269
+ level: logger.getLevel(),
270
+ namespaceLevels: ((_logger$getNamespaceL = logger.getNamespaceLevels) === null || _logger$getNamespaceL === void 0 ? void 0 : _logger$getNamespaceL.call(logger)) ?? {}
277
271
  };
278
272
  };
279
273
  const send = (res, status, body) => {
@@ -299,7 +293,7 @@ function createLevelControlHandler(logger$1, options = {}) {
299
293
  });
300
294
  return;
301
295
  }
302
- logger$1.setLevel(lvl);
296
+ logger.setLevel(lvl);
303
297
  }
304
298
  if (parsed.namespaceLevels !== void 0) {
305
299
  if (typeof parsed.namespaceLevels !== "object" || parsed.namespaceLevels === null || Array.isArray(parsed.namespaceLevels)) {
@@ -311,9 +305,9 @@ function createLevelControlHandler(logger$1, options = {}) {
311
305
  send(res, 400, { error: `unknown level "${String(lvl)}" for namespace "${pat}"` });
312
306
  return;
313
307
  }
314
- if (logger$1.setNamespaceLevels) {
308
+ if (logger.setNamespaceLevels) {
315
309
  const coerced = Object.fromEntries(Object.entries(nl).map(([pat, lvl]) => [pat, String(lvl).toLowerCase()]));
316
- logger$1.setNamespaceLevels(coerced);
310
+ logger.setNamespaceLevels(coerced);
317
311
  } else internalWarn("level control: logger does not support setNamespaceLevels — ignored");
318
312
  }
319
313
  send(res, 200, snapshot());
@@ -375,9 +369,54 @@ function createLevelControlHandler(logger$1, options = {}) {
375
369
  send(res, 405, { error: `method ${method} not allowed` });
376
370
  };
377
371
  }
378
-
379
- //#endregion
380
- //#region src/utils/typed-logger.ts
372
+ // src/utils/typed-logger.ts
373
+ /**
374
+ * logixia — TypeScript typed log fields
375
+ *
376
+ * Solves the type-safety gap: standard `Record<string, unknown>` metadata gives
377
+ * zero IDE autocomplete and lets typos slip silently into production logs.
378
+ *
379
+ * Two complementary utilities:
380
+ *
381
+ * 1. `createTypedLogger<TFields>()` — wraps any IBaseLogger so that the second
382
+ * argument of every log method is constrained to `TFields` (a typed object).
383
+ * Compile-time safety, zero runtime overhead.
384
+ *
385
+ * 2. `defineLogSchema<TFields>(schema)` — declares expected fields with optional
386
+ * validators. In development (NODE_ENV !== 'production') every log call is
387
+ * validated against the schema and a warning is emitted for missing required
388
+ * fields or type mismatches.
389
+ *
390
+ * @example
391
+ * ```ts
392
+ * import { createTypedLogger, defineLogSchema } from 'logixia';
393
+ *
394
+ * interface OrderFields {
395
+ * orderId: string;
396
+ * userId: string;
397
+ * amount?: number;
398
+ * currency?: string;
399
+ * }
400
+ *
401
+ * const schema = defineLogSchema<OrderFields>({
402
+ * orderId: { type: 'string', required: true },
403
+ * userId: { type: 'string', required: true },
404
+ * amount: { type: 'number' },
405
+ * currency: { type: 'string' },
406
+ * });
407
+ *
408
+ * const orderLogger = createTypedLogger<OrderFields>(baseLogger, schema);
409
+ * await orderLogger.info('Order created', { orderId: 'ord_123', userId: 'usr_456', amount: 99.99 });
410
+ * // ^^^^ fully typed autocomplete ^^^^
411
+ * ```
412
+ */
413
+ function isProduction() {
414
+ try {
415
+ return process.env.NODE_ENV === "production";
416
+ } catch {
417
+ return false;
418
+ }
419
+ }
381
420
  /**
382
421
  * Define a typed schema for a category of log entries.
383
422
  *
@@ -388,7 +427,7 @@ function defineLogSchema(fields) {
388
427
  return {
389
428
  fields,
390
429
  validate(payload) {
391
- if (process.env["NODE_ENV"] === "production") return [];
430
+ if (isProduction()) return [];
392
431
  const warnings = [];
393
432
  for (const [key, def] of Object.entries(fields)) {
394
433
  const value = payload[key];
@@ -415,7 +454,7 @@ function defineLogSchema(fields) {
415
454
  * @param logger Any object that implements `IBaseLogger` (e.g. the result of `createLogger()`)
416
455
  * @param schema Optional schema for dev-time validation. Created with `defineLogSchema()`.
417
456
  */
418
- function createTypedLogger(logger$1, schema) {
457
+ function createTypedLogger(logger, schema) {
419
458
  function withValidation(level, fn, message, data) {
420
459
  if (schema && data) {
421
460
  const warnings = schema.validate(data);
@@ -424,25 +463,56 @@ function createTypedLogger(logger$1, schema) {
424
463
  return fn(message, data);
425
464
  }
426
465
  return {
427
- raw: logger$1,
466
+ raw: logger,
428
467
  error(messageOrError, data) {
429
468
  if (schema && data) {
430
469
  const warnings = schema.validate(data);
431
470
  const display = messageOrError instanceof Error ? messageOrError.message : messageOrError;
432
471
  for (const w of warnings) internalWarn(`[logixia/schema] ${w} — level=error message="${display}"`);
433
472
  }
434
- return logger$1.error(messageOrError, data);
473
+ return logger.error(messageOrError, data);
435
474
  },
436
- warn: (m, d) => withValidation("warn", logger$1.warn.bind(logger$1), m, d),
437
- info: (m, d) => withValidation("info", logger$1.info.bind(logger$1), m, d),
438
- debug: (m, d) => withValidation("debug", logger$1.debug.bind(logger$1), m, d),
439
- verbose: (m, d) => withValidation("verbose", (logger$1.verbose ?? logger$1.debug).bind(logger$1), m, d),
440
- trace: (m, d) => withValidation("trace", (logger$1.trace ?? logger$1.debug).bind(logger$1), m, d)
475
+ warn: (m, d) => withValidation("warn", logger.warn.bind(logger), m, d),
476
+ info: (m, d) => withValidation("info", logger.info.bind(logger), m, d),
477
+ debug: (m, d) => withValidation("debug", logger.debug.bind(logger), m, d),
478
+ verbose: (m, d) => withValidation("verbose", (logger.verbose ?? logger.debug).bind(logger), m, d),
479
+ trace: (m, d) => withValidation("trace", (logger.trace ?? logger.debug).bind(logger), m, d)
441
480
  };
442
481
  }
443
-
444
- //#endregion
445
- //#region src/wide-events.ts
482
+ // src/wide-events.ts
483
+ /**
484
+ * logixia — Canonical Log Lines / Wide Events.
485
+ *
486
+ * Emit ONE dense, structured event per unit of work (usually a request) instead
487
+ * of scattering details across many narrow log lines. Fields are accumulated as
488
+ * the request flows through middleware and business logic, then the whole event
489
+ * is emitted ONCE — in a `finally`/teardown path so it fires even on errors.
490
+ *
491
+ * This is the "canonical log line" pattern (Stripe) / "wide events" /
492
+ * "Observability 2.0" (Honeycomb): one pre-joined, queryable record per request,
493
+ * so operators never JOIN across log lines during an incident. It composes with
494
+ * logixia's existing trace correlation — when a trace is active, the event
495
+ * carries `traceId`/`spanId`, making it OTel-friendly.
496
+ *
497
+ * @example Manual scope
498
+ * ```ts
499
+ * import { withWideEvent, addEventFields } from 'logixia';
500
+ *
501
+ * await withWideEvent(logger, { route: '/checkout' }, async () => {
502
+ * addEventFields({ userId, planTier }); // from anywhere in the call tree
503
+ * addEventFields({ dbQueries: 4, cacheHit });
504
+ * // ...one wide event is emitted automatically when this callback settles,
505
+ * // even if it throws.
506
+ * });
507
+ * ```
508
+ *
509
+ * @example Express middleware (auto-emit on response finish/close)
510
+ * ```ts
511
+ * import { wideEventMiddleware } from 'logixia';
512
+ * app.use(wideEventMiddleware(logger));
513
+ * app.get('/x', (req, res) => { addEventFields({ handled: 'x' }); res.json({}); });
514
+ * ```
515
+ */
446
516
  const _storage = new AsyncLocalStorage();
447
517
  /**
448
518
  * Merge fields into the wide event for the current async scope. No-op (with no
@@ -463,7 +533,7 @@ function getEventFields() {
463
533
  const state = _storage.getStore();
464
534
  return state ? { ...state.fields } : void 0;
465
535
  }
466
- function emit(logger$1, state, options, extra) {
536
+ function emit(logger, state, options, extra) {
467
537
  if (state.emitted) return;
468
538
  state.emitted = true;
469
539
  const level = options.level ?? "info";
@@ -477,7 +547,7 @@ function emit(logger$1, state, options, extra) {
477
547
  const traceId = getCurrentTraceId();
478
548
  if (traceId !== void 0 && payload["traceId"] === void 0) payload["traceId"] = traceId;
479
549
  }
480
- const p = logger$1.logLevel(level, message, payload);
550
+ const p = logger.logLevel(level, message, payload);
481
551
  if (p && typeof p.catch === "function") p.catch(() => {});
482
552
  }
483
553
  /**
@@ -486,7 +556,7 @@ function emit(logger$1, state, options, extra) {
486
556
  * when the callback settles — on success OR error (the canonical "emit in
487
557
  * finally" guarantee). On error, `error` + `errorMessage` fields are added.
488
558
  */
489
- async function withWideEvent(logger$1, initialFields, callback, options = {}) {
559
+ async function withWideEvent(logger, initialFields, callback, options = {}) {
490
560
  const state = {
491
561
  fields: { ...initialFields },
492
562
  startMs: Date.now(),
@@ -495,10 +565,10 @@ async function withWideEvent(logger$1, initialFields, callback, options = {}) {
495
565
  return _storage.run(state, async () => {
496
566
  try {
497
567
  const result = await callback();
498
- emit(logger$1, state, options);
568
+ emit(logger, state, options);
499
569
  return result;
500
570
  } catch (error) {
501
- emit(logger$1, state, options, {
571
+ emit(logger, state, options, {
502
572
  error: true,
503
573
  errorMessage: error instanceof Error ? error.message : String(error)
504
574
  });
@@ -513,7 +583,7 @@ async function withWideEvent(logger$1, initialFields, callback, options = {}) {
513
583
  * more via `addEventFields`. The completion event includes `statusCode` and the
514
584
  * request duration.
515
585
  */
516
- function wideEventMiddleware(logger$1, options = {}) {
586
+ function wideEventMiddleware(logger, options = {}) {
517
587
  return function logixiaWideEventMiddleware(req, res, next) {
518
588
  var _options$skip, _req$socket, _res$once, _res$once2;
519
589
  if ((_options$skip = options.skip) === null || _options$skip === void 0 ? void 0 : _options$skip.call(options, req)) {
@@ -531,192 +601,14 @@ function wideEventMiddleware(logger$1, options = {}) {
531
601
  emitted: false
532
602
  };
533
603
  const finalize = () => {
534
- emit(logger$1, state, options, { statusCode: res.statusCode ?? 0 });
604
+ emit(logger, state, options, { statusCode: res.statusCode ?? 0 });
535
605
  };
536
606
  (_res$once = res.once) === null || _res$once === void 0 || _res$once.call(res, "finish", finalize);
537
607
  (_res$once2 = res.once) === null || _res$once2 === void 0 || _res$once2.call(res, "close", finalize);
538
608
  _storage.run(state, () => next());
539
609
  };
540
610
  }
541
-
542
- //#endregion
543
- //#region src/transports/otlp.transport.ts
544
- const HEX_32 = /^[0-9a-f]{32}$/;
545
- /**
546
- * OTLP JSON wants a 32-char lowercase hex trace id. Dashed UUIDs are
547
- * normalised; anything else (or all zeros) returns undefined.
548
- */
549
- function toOtlpTraceId(id) {
550
- const hex = id.replace(/-/g, "").toLowerCase();
551
- return HEX_32.test(hex) && hex !== "0".repeat(32) ? hex : void 0;
552
- }
553
- /**
554
- * Map a logixia level name to an OTel SeverityNumber (1–24) and text.
555
- * Per the OTel logs SDK spec: TRACE=1, DEBUG=5, INFO=9, WARN=13, ERROR=17,
556
- * FATAL=21. Custom/unknown levels fall back to INFO (9).
557
- */
558
- function toOtelSeverity(level) {
559
- switch (level.toLowerCase()) {
560
- case "trace": return {
561
- number: 1,
562
- text: "TRACE"
563
- };
564
- case "verbose": return {
565
- number: 5,
566
- text: "DEBUG"
567
- };
568
- case "debug": return {
569
- number: 5,
570
- text: "DEBUG"
571
- };
572
- case "info": return {
573
- number: 9,
574
- text: "INFO"
575
- };
576
- case "warn":
577
- case "warning": return {
578
- number: 13,
579
- text: "WARN"
580
- };
581
- case "error": return {
582
- number: 17,
583
- text: "ERROR"
584
- };
585
- case "fatal": return {
586
- number: 21,
587
- text: "FATAL"
588
- };
589
- default: return {
590
- number: 9,
591
- text: "INFO"
592
- };
593
- }
594
- }
595
- /** Coerce a JS value into an OTLP AnyValue. */
596
- function toAnyValue(value) {
597
- if (typeof value === "string") return { stringValue: value };
598
- if (typeof value === "boolean") return { boolValue: value };
599
- if (typeof value === "number") return Number.isInteger(value) ? { intValue: value } : { doubleValue: value };
600
- if (typeof value === "bigint") return { stringValue: value.toString() };
601
- if (value === null || value === void 0) return { stringValue: "" };
602
- try {
603
- return { stringValue: stringifyForLog(value) };
604
- } catch {
605
- return { stringValue: String(value) };
606
- }
607
- }
608
- /** Build the OTLP KeyValue attribute list from a flat record. */
609
- function toAttributes(rec) {
610
- return Object.entries(rec).map(([key, value]) => ({
611
- key,
612
- value: toAnyValue(value)
613
- }));
614
- }
615
- var OtlpLogTransport = class {
616
- constructor(config) {
617
- this.name = "otlp";
618
- this.flushTimer = null;
619
- this.url = config.url;
620
- this.headers = config.headers ?? {};
621
- this.batchSize = config.batchSize ?? 100;
622
- this.flushIntervalMs = config.flushIntervalMs ?? 5e3;
623
- this.requestTimeoutMs = config.requestTimeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
624
- this.level = config.level;
625
- this.buffer = new BatchBuffer({
626
- name: "OtlpLogTransport",
627
- batchSize: this.batchSize,
628
- maxBufferSize: config.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE,
629
- send: (entries) => this.send(entries)
630
- });
631
- this.resourceAttrs = toAttributes({
632
- "service.name": config.serviceName ?? "logixia",
633
- ...config.serviceVersion ? { "service.version": config.serviceVersion } : {},
634
- ...config.environment ? { "deployment.environment": config.environment } : {},
635
- ...config.resourceAttributes ?? {}
636
- });
637
- this.flushTimer = setInterval(() => {
638
- this.flush().catch(() => {});
639
- }, this.flushIntervalMs);
640
- if (this.flushTimer.unref) this.flushTimer.unref();
641
- }
642
- write(entry) {
643
- this.buffer.push(entry);
644
- this.buffer.flushIfFull();
645
- }
646
- /** Convert one entry into an OTLP LogRecord. */
647
- toLogRecord(entry) {
648
- const sev = toOtelSeverity(entry.level);
649
- const tsNanos = String(entry.timestamp.getTime() * 1e6);
650
- const attrs = { ...entry.data ?? {} };
651
- if (entry.context !== void 0) attrs["context"] = entry.context;
652
- if (entry.appName !== void 0) attrs["app.name"] = entry.appName;
653
- if (entry.environment !== void 0) attrs["deployment.environment"] = entry.environment;
654
- const record = {
655
- timeUnixNano: tsNanos,
656
- observedTimeUnixNano: tsNanos,
657
- severityNumber: sev.number,
658
- severityText: sev.text,
659
- body: { stringValue: entry.message },
660
- attributes: toAttributes(attrs)
661
- };
662
- if (entry.traceId) {
663
- const traceId = toOtlpTraceId(entry.traceId);
664
- if (traceId) record["traceId"] = traceId;
665
- else record["attributes"].push({
666
- key: "trace_id",
667
- value: { stringValue: entry.traceId }
668
- });
669
- }
670
- return record;
671
- }
672
- buildPayload(entries) {
673
- return stringifyForLog({ resourceLogs: [{
674
- resource: { attributes: this.resourceAttrs },
675
- scopeLogs: [{
676
- scope: { name: "logixia" },
677
- logRecords: entries.map((e) => this.toLogRecord(e))
678
- }]
679
- }] });
680
- }
681
- flush() {
682
- return this.buffer.flush();
683
- }
684
- async send(entries) {
685
- if (typeof fetch !== "function") {
686
- internalWarn("OtlpLogTransport: global fetch unavailable — cannot export logs");
687
- return;
688
- }
689
- const controller = new AbortController();
690
- const timer = setTimeout(() => controller.abort(), this.requestTimeoutMs);
691
- try {
692
- const res = await fetch(this.url, {
693
- method: "POST",
694
- headers: {
695
- "Content-Type": "application/json",
696
- ...this.headers
697
- },
698
- body: this.buildPayload(entries),
699
- signal: controller.signal
700
- });
701
- if (!res.ok) throw new HttpError(res.status, "", "OTLP export");
702
- } catch (err) {
703
- if (controller.signal.aborted) throw new Error(`OTLP export timed out after ${this.requestTimeoutMs}ms`, { cause: err });
704
- throw err;
705
- } finally {
706
- clearTimeout(timer);
707
- }
708
- }
709
- async close() {
710
- if (this.flushTimer) {
711
- clearInterval(this.flushTimer);
712
- this.flushTimer = null;
713
- }
714
- await this.buffer.close();
715
- }
716
- };
717
-
718
- //#endregion
719
- //#region src/metrics.ts
611
+ // src/metrics.ts
720
612
  const DEFAULT_BUCKETS = [
721
613
  1,
722
614
  5,
@@ -858,9 +750,10 @@ var MetricsPlugin = class {
858
750
  const helpText = config.help ?? rawName.replace(/_/g, " ");
859
751
  lines.push(`# HELP ${metricName} ${helpText}`);
860
752
  lines.push(`# TYPE ${metricName} ${config.type}`);
861
- if (state.type === "counter") if (state.values.size === 0) lines.push(`${metricName} 0`);
862
- else for (const [labelKey, count] of state.values) lines.push(`${metricName}${renderLabels(labelKey)} ${count}`);
863
- else if (state.type === "histogram") for (const [labelKey, bucketCounts] of state.counts) {
753
+ if (state.type === "counter") {
754
+ if (state.values.size === 0) lines.push(`${metricName} 0`);
755
+ else for (const [labelKey, count] of state.values) lines.push(`${metricName}${renderLabels(labelKey)} ${count}`);
756
+ } else if (state.type === "histogram") for (const [labelKey, bucketCounts] of state.counts) {
864
757
  const labelSuffix = renderLabels(labelKey);
865
758
  const baseObj = labelKey === "{}" ? {} : JSON.parse(labelKey);
866
759
  for (let i = 0; i < state.buckets.length; i++) {
@@ -878,8 +771,10 @@ var MetricsPlugin = class {
878
771
  lines.push(`${metricName}_sum${labelSuffix} ${state.sums.get(labelKey) ?? 0}`);
879
772
  lines.push(`${metricName}_count${labelSuffix} ${state.observations.get(labelKey) ?? 0}`);
880
773
  }
881
- else if (state.type === "gauge") if (state.values.size === 0) lines.push(`${metricName} 0`);
882
- else for (const [labelKey, val] of state.values) lines.push(`${metricName}${renderLabels(labelKey)} ${val}`);
774
+ else if (state.type === "gauge") {
775
+ if (state.values.size === 0) lines.push(`${metricName} 0`);
776
+ else for (const [labelKey, val] of state.values) lines.push(`${metricName}${renderLabels(labelKey)} ${val}`);
777
+ }
883
778
  }
884
779
  return `${lines.join("\n")}\n`;
885
780
  }
@@ -996,52 +891,20 @@ var MetricsPlugin = class {
996
891
  function createMetricsPlugin(map, options) {
997
892
  return new MetricsPlugin(map, options);
998
893
  }
999
-
1000
- //#endregion
1001
- //#region src/index.ts
894
+ // src/index.ts
1002
895
  /**
1003
- * Default configuration for Logixia logger
896
+ * Logixia - Advanced TypeScript Logger
897
+ *
898
+ * A comprehensive logging library with support for:
899
+ * - Multiple output formats (console, file, JSON)
900
+ * - Trace ID tracking
901
+ * - Performance monitoring
902
+ * - NestJS integration
903
+ * - Customizable log levels and colors
904
+ * - Intelligent log search and aggregation
905
+ * - Natural language query processing
906
+ * - Pattern recognition and anomaly detection
1004
907
  */
1005
- const DEFAULT_CONFIG = {
1006
- appName: "App",
1007
- environment: "development",
1008
- traceId: true,
1009
- format: {
1010
- timestamp: true,
1011
- colorize: true,
1012
- json: false
1013
- },
1014
- silent: false,
1015
- levelOptions: {
1016
- level: LogLevel.INFO,
1017
- levels: {
1018
- [LogLevel.ERROR]: 0,
1019
- [LogLevel.WARN]: 1,
1020
- [LogLevel.INFO]: 2,
1021
- [LogLevel.DEBUG]: 3,
1022
- [LogLevel.TRACE]: 4,
1023
- [LogLevel.VERBOSE]: 5
1024
- },
1025
- colors: {
1026
- [LogLevel.ERROR]: "red",
1027
- [LogLevel.WARN]: "yellow",
1028
- [LogLevel.INFO]: "blue",
1029
- [LogLevel.DEBUG]: "green",
1030
- [LogLevel.TRACE]: "gray",
1031
- [LogLevel.VERBOSE]: "cyan"
1032
- }
1033
- },
1034
- fields: {
1035
- timestamp: true,
1036
- level: true,
1037
- appName: true,
1038
- traceId: true,
1039
- message: true,
1040
- payload: true,
1041
- timeTaken: true
1042
- },
1043
- outputs: ["console"]
1044
- };
1045
908
  /**
1046
909
  * Create a new Logixia logger instance with TypeScript support for custom levels
1047
910
  * @param config - Logger configuration
@@ -1049,24 +912,12 @@ const DEFAULT_CONFIG = {
1049
912
  */
1050
913
  const createLogger = createLogger$1;
1051
914
  /**
1052
- * Create a new Logixia logger service for NestJS
1053
- * @param config - Logger configuration
1054
- * @returns LogixiaLoggerService instance
1055
- */
1056
- function createLoggerService(config) {
1057
- return new LogixiaLoggerService({
1058
- ...DEFAULT_CONFIG,
1059
- ...config
1060
- });
1061
- }
1062
- /**
1063
915
  * Default logger instance
1064
916
  */
1065
917
  const logger = new LogixiaLogger(DEFAULT_CONFIG);
1066
918
  /**
1067
919
  * Export default configuration for reference
1068
920
  */
921
+ export { BasicLogIndexer, BasicSearchEngine, CorrelationEngine, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, DiscordTransport, ErrorResponseBuilder, JsonFormatter, LogLevel, LogixiaContext, LogixiaException, LogixiaLogger, MAX_INCOMING_ID_LENGTH, MetricsPlugin, NLPSearchEngine, OVERFLOW_LABEL_VALUE, OtlpLogTransport, PatternRecognitionEngine, PluginRegistry, SearchManager, SlackTransport, TRACE_CONTEXT_KEY, TextFormatter, TraceContext, _setActiveContextKey, _shutdownRegistrySize, addEventFields, applyRedaction, createExpressContextMiddleware, createFastifyContextHook, createLevelControlHandler, createLogger, createMetricsPlugin, createTraceMiddleware, createTypedLogger, decycleValue, defineLogSchema, deregisterFromShutdown, disableOtelBridge, extractTraceId, flushOnExit, generateRequestId, generateTraceId, getActiveOtelContext, getCurrentTraceId, getEventFields, getOtelMetaFields, getTraceContextKey, globalPluginRegistry, initOtelBridge, isError, isLogixiaException, logger, normalizeError, redactObject, registerForShutdown, registerLevelSignal, resetShutdownHandlers, retrocycle, runWithTraceId, safeStringify, sanitizeIncomingId, serializeError, setEventField, setTraceId, stringifyForLog, toOtelSeverity, traceStorage, usePlugin, wideEventMiddleware, withWideEvent };
1069
922
 
1070
- //#endregion
1071
- export { BasicLogIndexer, BasicSearchEngine, CorrelationEngine, DEFAULT_CONFIG, DEFAULT_LOG_COLORS, DEFAULT_LOG_LEVELS, DEFAULT_TRACE_HEADERS, ErrorResponseBuilder, InjectLogger, JsonFormatter, KafkaTraceInterceptor, LOGIXIA_EXCEPTION_FILTER_OPTIONS, LOGIXIA_LOGGER_CONFIG, LOGIXIA_LOGGER_PREFIX, LOGIXIA_TRACE_CONFIG, LogLevel, LogMethod, LogixiaContext, LogixiaException, LogixiaExceptionFilter, LogixiaLogger, LogixiaLoggerModule, LogixiaLoggerService, MAX_INCOMING_ID_LENGTH, MetricsPlugin, NLPSearchEngine, OVERFLOW_LABEL_VALUE, OtlpLogTransport, PatternRecognitionEngine, PluginRegistry, SearchManager, TRACE_CONTEXT_KEY, TextFormatter, TraceContext, WebSocketTraceInterceptor, _setActiveContextKey, _shutdownRegistrySize, addEventFields, applyRedaction, createExpressContextMiddleware, createFastifyContextHook, createLevelControlHandler, createLogger, createLoggerService, createMetricsPlugin, createTraceMiddleware, createTypedLogger, decycleValue, defineLogSchema, deregisterFromShutdown, disableOtelBridge, extractTraceId, flushOnExit, generateRequestId, generateTraceId, getActiveOtelContext, getCurrentTraceId, getEventFields, getOtelMetaFields, getTraceContextKey, globalPluginRegistry, initOtelBridge, isError, isLogixiaException, logger, normalizeError, redactObject, registerForShutdown, registerLevelSignal, resetShutdownHandlers, retrocycle, runWithTraceId, safeStringify, sanitizeIncomingId, serializeError, setEventField, setTraceId, stringifyForLog, toOtelSeverity, traceStorage, usePlugin, wideEventMiddleware, withWideEvent };
1072
923
  //# sourceMappingURL=index.mjs.map