@contractspec/lib.logger 1.56.1 → 1.58.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 (108) hide show
  1. package/dist/context.browser.d.ts +44 -0
  2. package/dist/context.browser.d.ts.map +1 -0
  3. package/dist/context.browser.js +77 -0
  4. package/dist/context.d.ts +22 -0
  5. package/dist/context.d.ts.map +1 -0
  6. package/dist/context.js +1 -0
  7. package/dist/context.node.d.ts +43 -0
  8. package/dist/context.node.d.ts.map +1 -0
  9. package/dist/context.node.js +62 -0
  10. package/dist/elysia-plugin.d.ts +58 -0
  11. package/dist/elysia-plugin.d.ts.map +1 -0
  12. package/dist/elysia-plugin.js +793 -0
  13. package/dist/formatters.d.ts +25 -0
  14. package/dist/formatters.d.ts.map +1 -0
  15. package/dist/formatters.js +232 -0
  16. package/dist/index.browser.d.ts +8 -0
  17. package/dist/index.browser.d.ts.map +1 -0
  18. package/dist/index.browser.js +728 -0
  19. package/dist/index.d.ts +9 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +800 -0
  22. package/dist/logger.browser.d.ts +48 -0
  23. package/dist/logger.browser.d.ts.map +1 -0
  24. package/dist/logger.browser.js +722 -0
  25. package/dist/logger.d.ts +2 -0
  26. package/dist/logger.d.ts.map +1 -0
  27. package/dist/logger.js +707 -0
  28. package/dist/logger.node.d.ts +48 -0
  29. package/dist/logger.node.d.ts.map +1 -0
  30. package/dist/logger.node.js +707 -0
  31. package/dist/node/context.js +0 -0
  32. package/dist/node/context.node.js +61 -0
  33. package/dist/node/elysia-plugin.js +792 -0
  34. package/dist/node/formatters.js +231 -0
  35. package/dist/node/index.js +799 -0
  36. package/dist/node/logger.js +706 -0
  37. package/dist/node/logger.node.js +706 -0
  38. package/dist/node/timer.js +122 -0
  39. package/dist/node/tracer.js +274 -0
  40. package/dist/node/tracer.node.js +274 -0
  41. package/dist/node/types.js +13 -0
  42. package/dist/timer.d.ts +99 -0
  43. package/dist/timer.d.ts.map +1 -0
  44. package/dist/timer.js +123 -0
  45. package/dist/tracer.browser.d.ts +47 -0
  46. package/dist/tracer.browser.d.ts.map +1 -0
  47. package/dist/tracer.browser.js +290 -0
  48. package/dist/tracer.d.ts +2 -0
  49. package/dist/tracer.d.ts.map +1 -0
  50. package/dist/tracer.js +275 -0
  51. package/dist/tracer.node.d.ts +47 -0
  52. package/dist/tracer.node.d.ts.map +1 -0
  53. package/dist/tracer.node.js +275 -0
  54. package/dist/types.d.ts +68 -0
  55. package/dist/types.d.ts.map +1 -0
  56. package/dist/types.js +14 -0
  57. package/package.json +112 -42
  58. package/dist/context.browser.d.mts +0 -49
  59. package/dist/context.browser.d.mts.map +0 -1
  60. package/dist/context.browser.mjs +0 -89
  61. package/dist/context.browser.mjs.map +0 -1
  62. package/dist/context.d.mts +0 -17
  63. package/dist/context.d.mts.map +0 -1
  64. package/dist/context.mjs +0 -1
  65. package/dist/context.node.d.mts +0 -48
  66. package/dist/context.node.d.mts.map +0 -1
  67. package/dist/context.node.mjs +0 -79
  68. package/dist/context.node.mjs.map +0 -1
  69. package/dist/elysia-plugin.d.mts +0 -63
  70. package/dist/elysia-plugin.d.mts.map +0 -1
  71. package/dist/elysia-plugin.mjs +0 -84
  72. package/dist/elysia-plugin.mjs.map +0 -1
  73. package/dist/formatters.d.mts +0 -29
  74. package/dist/formatters.d.mts.map +0 -1
  75. package/dist/formatters.mjs +0 -180
  76. package/dist/formatters.mjs.map +0 -1
  77. package/dist/index.browser.d.mts +0 -7
  78. package/dist/index.browser.mjs +0 -8
  79. package/dist/index.d.mts +0 -8
  80. package/dist/index.mjs +0 -9
  81. package/dist/logger.browser.d.mts +0 -51
  82. package/dist/logger.browser.d.mts.map +0 -1
  83. package/dist/logger.browser.mjs +0 -190
  84. package/dist/logger.browser.mjs.map +0 -1
  85. package/dist/logger.d.mts +0 -2
  86. package/dist/logger.mjs +0 -3
  87. package/dist/logger.node.d.mts +0 -51
  88. package/dist/logger.node.d.mts.map +0 -1
  89. package/dist/logger.node.mjs +0 -190
  90. package/dist/logger.node.mjs.map +0 -1
  91. package/dist/timer.d.mts +0 -103
  92. package/dist/timer.d.mts.map +0 -1
  93. package/dist/timer.mjs +0 -165
  94. package/dist/timer.mjs.map +0 -1
  95. package/dist/tracer.browser.d.mts +0 -51
  96. package/dist/tracer.browser.d.mts.map +0 -1
  97. package/dist/tracer.browser.mjs +0 -116
  98. package/dist/tracer.browser.mjs.map +0 -1
  99. package/dist/tracer.d.mts +0 -2
  100. package/dist/tracer.mjs +0 -3
  101. package/dist/tracer.node.d.mts +0 -51
  102. package/dist/tracer.node.d.mts.map +0 -1
  103. package/dist/tracer.node.mjs +0 -116
  104. package/dist/tracer.node.mjs.map +0 -1
  105. package/dist/types.d.mts +0 -71
  106. package/dist/types.d.mts.map +0 -1
  107. package/dist/types.mjs +0 -14
  108. package/dist/types.mjs.map +0 -1
package/dist/tracer.mjs DELETED
@@ -1,3 +0,0 @@
1
- import { Tracer } from "./tracer.node.mjs";
2
-
3
- export { Tracer };
@@ -1,51 +0,0 @@
1
- import { TraceContext, TracingOptions } from "./types.mjs";
2
-
3
- //#region src/tracer.node.d.ts
4
- declare class Tracer {
5
- private context;
6
- private activeSpans;
7
- constructor();
8
- /**
9
- * Start a new trace span
10
- */
11
- startSpan(options: TracingOptions): TraceContext;
12
- /**
13
- * Finish a trace span
14
- */
15
- finishSpan(spanId: string): number | undefined;
16
- /**
17
- * Execute a function within a trace span
18
- */
19
- trace<T>(options: TracingOptions, fn: () => T | Promise<T>): Promise<T>;
20
- /**
21
- * Add metadata to current span
22
- */
23
- addMetadata(key: string, value: unknown): void;
24
- /**
25
- * Add tags to current span
26
- */
27
- addTags(...tags: string[]): void;
28
- /**
29
- * Get current trace context
30
- */
31
- getCurrentTrace(): TraceContext | undefined;
32
- /**
33
- * Get all active spans
34
- */
35
- getActiveSpans(): TraceContext[];
36
- /**
37
- * Find a span by ID
38
- */
39
- findSpanById(spanId: string): TraceContext | undefined;
40
- /**
41
- * Generate a unique trace ID
42
- */
43
- private generateTraceId;
44
- /**
45
- * Generate a unique span ID
46
- */
47
- private generateSpanId;
48
- }
49
- //#endregion
50
- export { Tracer };
51
- //# sourceMappingURL=tracer.node.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracer.node.d.mts","names":[],"sources":["../src/tracer.node.ts"],"sourcesContent":[],"mappings":";;;cAIa,MAAA;;EAAA,QAAA,WAAM;EAWE,WAAA,CAAA;EAAiB;;;EAkDZ,SAAA,CAAA,OAAA,EAlDL,cAkDK,CAAA,EAlDY,YAkDZ;EAAR;;;EA+DG,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAOD;;;oBAvEP,0BACC,IAAI,QAAQ,KACrB,QAAQ;;;;;;;;;;;;qBA8DQ;;;;oBAOD;;;;gCAOY"}
@@ -1,116 +0,0 @@
1
- import { LogContext } from "./context.node.mjs";
2
- import { Timer } from "./timer.mjs";
3
-
4
- //#region src/tracer.node.ts
5
- var Tracer = class {
6
- context;
7
- activeSpans = /* @__PURE__ */ new Map();
8
- constructor() {
9
- this.context = LogContext.getInstance();
10
- }
11
- /**
12
- * Start a new trace span
13
- */
14
- startSpan(options) {
15
- const parentTrace = this.context.getCurrentTrace();
16
- const span = {
17
- traceId: parentTrace?.traceId || this.generateTraceId(),
18
- parentId: parentTrace?.spanId,
19
- spanId: this.generateSpanId(),
20
- operationType: options.operationType,
21
- operationName: options.operationName,
22
- startTime: performance.now(),
23
- metadata: { ...options.metadata },
24
- tags: [...options.tags || []]
25
- };
26
- this.activeSpans.set(span.spanId, span);
27
- this.context.setTrace(span);
28
- return span;
29
- }
30
- /**
31
- * Finish a trace span
32
- */
33
- finishSpan(spanId) {
34
- const span = this.activeSpans.get(spanId);
35
- if (!span) return;
36
- const duration = performance.now() - span.startTime;
37
- this.activeSpans.delete(spanId);
38
- if (this.context.getCurrentTrace()?.spanId === spanId && span.parentId) {
39
- const parentSpan = this.findSpanById(span.parentId);
40
- if (parentSpan) this.context.setTrace(parentSpan);
41
- }
42
- return duration;
43
- }
44
- /**
45
- * Execute a function within a trace span
46
- */
47
- async trace(options, fn) {
48
- const span = this.startSpan(options);
49
- const timer = options.autoTiming !== false ? new Timer(`trace-${span.spanId}`) : void 0;
50
- try {
51
- const result = await fn();
52
- const duration = this.finishSpan(span.spanId);
53
- if (timer) timer.stop();
54
- if (duration !== void 0) span.metadata.duration = duration;
55
- return result;
56
- } catch (error) {
57
- span.metadata.error = {
58
- name: error.name || "Unknown",
59
- message: error.message || "Unknown error",
60
- stack: error.stack
61
- };
62
- const duration = this.finishSpan(span.spanId);
63
- span.metadata.duration = duration;
64
- if (timer) timer.stop();
65
- throw error;
66
- }
67
- }
68
- /**
69
- * Add metadata to current span
70
- */
71
- addMetadata(key, value) {
72
- const currentTrace = this.context.getCurrentTrace();
73
- if (currentTrace) currentTrace.metadata[key] = value;
74
- }
75
- /**
76
- * Add tags to current span
77
- */
78
- addTags(...tags) {
79
- const currentTrace = this.context.getCurrentTrace();
80
- if (currentTrace) currentTrace.tags.push(...tags);
81
- }
82
- /**
83
- * Get current trace context
84
- */
85
- getCurrentTrace() {
86
- return this.context.getCurrentTrace();
87
- }
88
- /**
89
- * Get all active spans
90
- */
91
- getActiveSpans() {
92
- return Array.from(this.activeSpans.values());
93
- }
94
- /**
95
- * Find a span by ID
96
- */
97
- findSpanById(spanId) {
98
- return this.activeSpans.get(spanId);
99
- }
100
- /**
101
- * Generate a unique trace ID
102
- */
103
- generateTraceId() {
104
- return crypto.randomUUID().replace(/-/g, "");
105
- }
106
- /**
107
- * Generate a unique span ID
108
- */
109
- generateSpanId() {
110
- return crypto.randomUUID().replace(/-/g, "").substring(0, 16);
111
- }
112
- };
113
-
114
- //#endregion
115
- export { Tracer };
116
- //# sourceMappingURL=tracer.node.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracer.node.mjs","names":[],"sources":["../src/tracer.node.ts"],"sourcesContent":["import type { TraceContext, TracingOptions } from './types';\nimport { LogContext } from './context.node';\nimport { Timer } from './timer';\n\nexport class Tracer {\n private context: LogContext;\n private activeSpans = new Map<string, TraceContext>();\n\n constructor() {\n this.context = LogContext.getInstance();\n }\n\n /**\n * Start a new trace span\n */\n startSpan(options: TracingOptions): TraceContext {\n const parentTrace = this.context.getCurrentTrace();\n const traceId = parentTrace?.traceId || this.generateTraceId();\n\n const span: TraceContext = {\n traceId,\n parentId: parentTrace?.spanId,\n spanId: this.generateSpanId(),\n operationType: options.operationType,\n operationName: options.operationName,\n startTime: performance.now(),\n metadata: { ...options.metadata },\n tags: [...(options.tags || [])],\n };\n\n this.activeSpans.set(span.spanId, span);\n this.context.setTrace(span);\n\n return span;\n }\n\n /**\n * Finish a trace span\n */\n finishSpan(spanId: string): number | undefined {\n const span = this.activeSpans.get(spanId);\n if (!span) {\n return undefined;\n }\n\n const duration = performance.now() - span.startTime;\n this.activeSpans.delete(spanId);\n\n // If this was the current span, restore parent\n const currentTrace = this.context.getCurrentTrace();\n if (currentTrace?.spanId === spanId && span.parentId) {\n const parentSpan = this.findSpanById(span.parentId);\n if (parentSpan) {\n this.context.setTrace(parentSpan);\n }\n }\n\n return duration;\n }\n\n /**\n * Execute a function within a trace span\n */\n async trace<T>(\n options: TracingOptions,\n fn: () => T | Promise<T>\n ): Promise<T> {\n const span = this.startSpan(options);\n const timer =\n options.autoTiming !== false\n ? new Timer(`trace-${span.spanId}`)\n : undefined;\n\n try {\n const result = await fn();\n\n const duration = this.finishSpan(span.spanId);\n if (timer) {\n timer.stop();\n }\n\n // Add timing metadata\n if (duration !== undefined) {\n span.metadata.duration = duration;\n }\n\n return result;\n } catch (error) {\n // Add error metadata\n span.metadata.error = {\n name: (error as Error).name || 'Unknown',\n message: (error as Error).message || 'Unknown error',\n stack: (error as Error).stack,\n };\n\n const duration = this.finishSpan(span.spanId);\n span.metadata.duration = duration;\n if (timer) {\n timer.stop();\n }\n\n throw error;\n }\n }\n\n /**\n * Add metadata to current span\n */\n addMetadata(key: string, value: unknown): void {\n const currentTrace = this.context.getCurrentTrace();\n if (currentTrace) {\n currentTrace.metadata[key] = value;\n }\n }\n\n /**\n * Add tags to current span\n */\n addTags(...tags: string[]): void {\n const currentTrace = this.context.getCurrentTrace();\n if (currentTrace) {\n currentTrace.tags.push(...tags);\n }\n }\n\n /**\n * Get current trace context\n */\n getCurrentTrace(): TraceContext | undefined {\n return this.context.getCurrentTrace();\n }\n\n /**\n * Get all active spans\n */\n getActiveSpans(): TraceContext[] {\n return Array.from(this.activeSpans.values());\n }\n\n /**\n * Find a span by ID\n */\n findSpanById(spanId: string): TraceContext | undefined {\n return this.activeSpans.get(spanId);\n }\n\n /**\n * Generate a unique trace ID\n */\n private generateTraceId(): string {\n return crypto.randomUUID().replace(/-/g, '');\n }\n\n /**\n * Generate a unique span ID\n */\n private generateSpanId(): string {\n return crypto.randomUUID().replace(/-/g, '').substring(0, 16);\n }\n}\n"],"mappings":";;;;AAIA,IAAa,SAAb,MAAoB;CAClB,AAAQ;CACR,AAAQ,8BAAc,IAAI,KAA2B;CAErD,cAAc;AACZ,OAAK,UAAU,WAAW,aAAa;;;;;CAMzC,UAAU,SAAuC;EAC/C,MAAM,cAAc,KAAK,QAAQ,iBAAiB;EAGlD,MAAM,OAAqB;GACzB,SAHc,aAAa,WAAW,KAAK,iBAAiB;GAI5D,UAAU,aAAa;GACvB,QAAQ,KAAK,gBAAgB;GAC7B,eAAe,QAAQ;GACvB,eAAe,QAAQ;GACvB,WAAW,YAAY,KAAK;GAC5B,UAAU,EAAE,GAAG,QAAQ,UAAU;GACjC,MAAM,CAAC,GAAI,QAAQ,QAAQ,EAAE,CAAE;GAChC;AAED,OAAK,YAAY,IAAI,KAAK,QAAQ,KAAK;AACvC,OAAK,QAAQ,SAAS,KAAK;AAE3B,SAAO;;;;;CAMT,WAAW,QAAoC;EAC7C,MAAM,OAAO,KAAK,YAAY,IAAI,OAAO;AACzC,MAAI,CAAC,KACH;EAGF,MAAM,WAAW,YAAY,KAAK,GAAG,KAAK;AAC1C,OAAK,YAAY,OAAO,OAAO;AAI/B,MADqB,KAAK,QAAQ,iBAAiB,EACjC,WAAW,UAAU,KAAK,UAAU;GACpD,MAAM,aAAa,KAAK,aAAa,KAAK,SAAS;AACnD,OAAI,WACF,MAAK,QAAQ,SAAS,WAAW;;AAIrC,SAAO;;;;;CAMT,MAAM,MACJ,SACA,IACY;EACZ,MAAM,OAAO,KAAK,UAAU,QAAQ;EACpC,MAAM,QACJ,QAAQ,eAAe,QACnB,IAAI,MAAM,SAAS,KAAK,SAAS,GACjC;AAEN,MAAI;GACF,MAAM,SAAS,MAAM,IAAI;GAEzB,MAAM,WAAW,KAAK,WAAW,KAAK,OAAO;AAC7C,OAAI,MACF,OAAM,MAAM;AAId,OAAI,aAAa,OACf,MAAK,SAAS,WAAW;AAG3B,UAAO;WACA,OAAO;AAEd,QAAK,SAAS,QAAQ;IACpB,MAAO,MAAgB,QAAQ;IAC/B,SAAU,MAAgB,WAAW;IACrC,OAAQ,MAAgB;IACzB;GAED,MAAM,WAAW,KAAK,WAAW,KAAK,OAAO;AAC7C,QAAK,SAAS,WAAW;AACzB,OAAI,MACF,OAAM,MAAM;AAGd,SAAM;;;;;;CAOV,YAAY,KAAa,OAAsB;EAC7C,MAAM,eAAe,KAAK,QAAQ,iBAAiB;AACnD,MAAI,aACF,cAAa,SAAS,OAAO;;;;;CAOjC,QAAQ,GAAG,MAAsB;EAC/B,MAAM,eAAe,KAAK,QAAQ,iBAAiB;AACnD,MAAI,aACF,cAAa,KAAK,KAAK,GAAG,KAAK;;;;;CAOnC,kBAA4C;AAC1C,SAAO,KAAK,QAAQ,iBAAiB;;;;;CAMvC,iBAAiC;AAC/B,SAAO,MAAM,KAAK,KAAK,YAAY,QAAQ,CAAC;;;;;CAM9C,aAAa,QAA0C;AACrD,SAAO,KAAK,YAAY,IAAI,OAAO;;;;;CAMrC,AAAQ,kBAA0B;AAChC,SAAO,OAAO,YAAY,CAAC,QAAQ,MAAM,GAAG;;;;;CAM9C,AAAQ,iBAAyB;AAC/B,SAAO,OAAO,YAAY,CAAC,QAAQ,MAAM,GAAG,CAAC,UAAU,GAAG,GAAG"}
package/dist/types.d.mts DELETED
@@ -1,71 +0,0 @@
1
- //#region src/types.d.ts
2
- declare enum LogLevel {
3
- TRACE = 0,
4
- DEBUG = 1,
5
- INFO = 2,
6
- WARN = 3,
7
- ERROR = 4,
8
- FATAL = 5,
9
- }
10
- interface LogEntry {
11
- level: LogLevel;
12
- message: string;
13
- timestamp: Date;
14
- traceId?: string;
15
- parentId?: string;
16
- spanId?: string;
17
- context?: Record<string, any>;
18
- metadata?: Record<string, any>;
19
- duration?: number;
20
- error?: Error;
21
- tags?: string[];
22
- }
23
- interface TraceContext {
24
- traceId: string;
25
- parentId?: string;
26
- spanId: string;
27
- operationType: string;
28
- operationName: string;
29
- startTime: number;
30
- metadata: Record<string, any>;
31
- tags: string[];
32
- }
33
- interface TracingOptions {
34
- operationType: 'http' | 'websocket' | 'cron' | 'queue' | 'database' | 'custom';
35
- operationName: string;
36
- metadata?: Record<string, any>;
37
- tags?: string[];
38
- autoTiming?: boolean;
39
- }
40
- interface LoggerConfig {
41
- level: LogLevel;
42
- environment: 'development' | 'production' | 'test';
43
- enableTracing: boolean;
44
- enableTiming: boolean;
45
- enableContext: boolean;
46
- enableColors: boolean;
47
- maxContextDepth: number;
48
- timestampFormat: 'iso' | 'epoch' | 'relative';
49
- }
50
- interface Formatter {
51
- format(entry: LogEntry): string;
52
- }
53
- interface Timer {
54
- readonly id: string;
55
- stop(): number;
56
- lap(label?: string): number;
57
- getElapsed(): number;
58
- }
59
- interface ContextData {
60
- [key: string]: any;
61
- userId?: string;
62
- requestId?: string;
63
- sessionId?: string;
64
- ip?: string;
65
- userAgent?: string;
66
- }
67
- type LogMethod = (message: string, metadata?: Record<string, any>) => void;
68
- type TraceMethod = <T>(options: TracingOptions, fn: () => T | Promise<T>) => Promise<T>;
69
- //#endregion
70
- export { ContextData, Formatter, LogEntry, LogLevel, LogMethod, LoggerConfig, Timer, TraceContext, TraceMethod, TracingOptions };
71
- //# sourceMappingURL=types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";aAAY,QAAA;EAAA,KAAA,GAAA,CAAA;EASK,KAAA,GAAA,CAAA;EACR,IAAA,GAAA,CAAA;EAEI,IAAA,GAAA,CAAA;EAKD,KAAA,GAAA,CAAA;EAEC,KAAA,GAAA,CAAA;;AAEE,UAZE,QAAA,CAYF;EAIE,KAAA,EAfR,QAeoB;EAYZ,OAAA,EAAA,MAAA;EAeA,SAAA,EAxCJ,IAwCgB;EAWZ,OAAA,CAAA,EAAA,MAAS;EAIT,QAAK,CAAA,EAAA,MAAA;EAQL,MAAA,CAAA,EAAA,MAAW;EAUhB,OAAA,CAAA,EApEA,MAoES,CAAA,MAAA,EAGR,GAAA,CAAA;EAED,QAAA,CAAA,EAvEC,MAuEU,CAAA,MAAA,EAAA,GAAA,CAAA;EACZ,QAAA,CAAA,EAAA,MAAA;EACC,KAAA,CAAA,EAvEF,KAuEE;EAAY,IAAA,CAAA,EAAA,MAAA,EAAA;;AACX,UApEI,YAAA,CAoEJ;EAAR,OAAA,EAAA,MAAA;EAAO,QAAA,CAAA,EAAA,MAAA;;;;;YA5DA;;;UAIK,cAAA;;;aAUJ;;;;UAKI,YAAA;SACR;;;;;;;;;UAUQ,SAAA;gBACD;;UAGC,KAAA;;;;;;UAQA,WAAA;;;;;;;;KAUL,SAAA,gCAGC;KAED,WAAA,gBACD,0BACC,IAAI,QAAQ,OACnB,QAAQ"}
package/dist/types.mjs DELETED
@@ -1,14 +0,0 @@
1
- //#region src/types.ts
2
- let LogLevel = /* @__PURE__ */ function(LogLevel$1) {
3
- LogLevel$1[LogLevel$1["TRACE"] = 0] = "TRACE";
4
- LogLevel$1[LogLevel$1["DEBUG"] = 1] = "DEBUG";
5
- LogLevel$1[LogLevel$1["INFO"] = 2] = "INFO";
6
- LogLevel$1[LogLevel$1["WARN"] = 3] = "WARN";
7
- LogLevel$1[LogLevel$1["ERROR"] = 4] = "ERROR";
8
- LogLevel$1[LogLevel$1["FATAL"] = 5] = "FATAL";
9
- return LogLevel$1;
10
- }({});
11
-
12
- //#endregion
13
- export { LogLevel };
14
- //# sourceMappingURL=types.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","names":[],"sources":["../src/types.ts"],"sourcesContent":["export enum LogLevel {\n TRACE = 0,\n DEBUG = 1,\n INFO = 2,\n WARN = 3,\n ERROR = 4,\n FATAL = 5,\n}\n\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n timestamp: Date;\n traceId?: string;\n parentId?: string;\n spanId?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context?: Record<string, any>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>;\n duration?: number;\n error?: Error;\n tags?: string[];\n}\n\nexport interface TraceContext {\n traceId: string;\n parentId?: string;\n spanId: string;\n operationType: string;\n operationName: string;\n startTime: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata: Record<string, any>;\n tags: string[];\n}\n\nexport interface TracingOptions {\n operationType:\n | 'http'\n | 'websocket'\n | 'cron'\n | 'queue'\n | 'database'\n | 'custom';\n operationName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>;\n tags?: string[];\n autoTiming?: boolean;\n}\n\nexport interface LoggerConfig {\n level: LogLevel;\n environment: 'development' | 'production' | 'test';\n enableTracing: boolean;\n enableTiming: boolean;\n enableContext: boolean;\n enableColors: boolean;\n maxContextDepth: number;\n timestampFormat: 'iso' | 'epoch' | 'relative';\n}\n\nexport interface Formatter {\n format(entry: LogEntry): string;\n}\n\nexport interface Timer {\n readonly id: string;\n // private startTime: number;\n stop(): number;\n lap(label?: string): number;\n getElapsed(): number;\n}\n\nexport interface ContextData {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n userId?: string;\n requestId?: string;\n sessionId?: string;\n ip?: string;\n userAgent?: string;\n}\n\nexport type LogMethod = (\n message: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n metadata?: Record<string, any>\n) => void;\nexport type TraceMethod = <T>(\n options: TracingOptions,\n fn: () => T | Promise<T>\n) => Promise<T>;\n"],"mappings":";AAAA,IAAY,gDAAL;AACL;AACA;AACA;AACA;AACA;AACA"}