hazo_logs 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -4
- package/dist/lib/context/log-context.d.ts +3 -0
- package/dist/lib/context/log-context.d.ts.map +1 -1
- package/dist/lib/context/log-context.js +38 -2
- package/dist/lib/context/log-context.js.map +1 -1
- package/dist/lib/hazo_logger.d.ts +17 -1
- package/dist/lib/hazo_logger.d.ts.map +1 -1
- package/dist/lib/hazo_logger.js +83 -11
- package/dist/lib/hazo_logger.js.map +1 -1
- package/dist/lib/package_logger.d.ts +5 -0
- package/dist/lib/package_logger.d.ts.map +1 -1
- package/dist/lib/package_logger.js +41 -5
- package/dist/lib/package_logger.js.map +1 -1
- package/package.json +4 -1
package/README.md
CHANGED
|
@@ -185,6 +185,8 @@ import { createLogApiHandler } from 'hazo_logs/ui/server';
|
|
|
185
185
|
|
|
186
186
|
**Note**: The `hazo_logs/server` and `hazo_logs/ui/server` imports use the `server-only` package and will throw an error if accidentally imported in client bundles. This prevents Next.js build errors from Node.js APIs (`fs`, `async_hooks`) being bundled for the browser.
|
|
187
187
|
|
|
188
|
+
**Next.js 16 Turbopack Compatibility**: As of v1.0.9, hazo_logs is fully compatible with Next.js 16 Turbopack. All server-only modules are lazy-loaded to prevent static analysis issues during bundling.
|
|
189
|
+
|
|
188
190
|
### Tailwind CSS Setup Required
|
|
189
191
|
|
|
190
192
|
The log viewer UI uses dynamic Tailwind classes that would be purged during build. You **must** configure both:
|
|
@@ -526,11 +528,14 @@ Error: Module not found: Can't resolve 'async_hooks'
|
|
|
526
528
|
Error: Module not found: Can't resolve 'fs'
|
|
527
529
|
```
|
|
528
530
|
|
|
529
|
-
This
|
|
531
|
+
This error occurred in earlier versions when server-only code was imported in client components. **As of v1.0.9, this is fixed** - the library now uses lazy loading for all server-only modules, making it fully compatible with Next.js 16 Turbopack.
|
|
532
|
+
|
|
533
|
+
If you still see this error:
|
|
530
534
|
|
|
531
|
-
1. **
|
|
532
|
-
2. **For
|
|
533
|
-
3. **For
|
|
535
|
+
1. **Upgrade hazo_logs**: Run `npm update hazo_logs` to get the latest version
|
|
536
|
+
2. **For logging in client components**: Use `createClientLogger` from `hazo_logs/ui`
|
|
537
|
+
3. **For server-only modules**: Import from `hazo_logs/server` instead of `hazo_logs`
|
|
538
|
+
4. **For universal code**: The base `hazo_logs` import works on both client and server (returns console logger on client)
|
|
534
539
|
|
|
535
540
|
### hazo_ui missing errors
|
|
536
541
|
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Log Context Provider
|
|
3
3
|
* Uses AsyncLocalStorage for zero-overhead context propagation
|
|
4
|
+
*
|
|
5
|
+
* This module is safe for both server and client environments.
|
|
6
|
+
* On the client, context functions are no-ops since AsyncLocalStorage is unavailable.
|
|
4
7
|
*/
|
|
5
8
|
import type { LogContext, Logger } from '../types.js';
|
|
6
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwCtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAeH;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAcxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,OAAO,EAAE,UAAU,EACnB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,GAAG,SAAS,CAGtD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEnF"}
|
|
@@ -1,9 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Log Context Provider
|
|
3
3
|
* Uses AsyncLocalStorage for zero-overhead context propagation
|
|
4
|
+
*
|
|
5
|
+
* This module is safe for both server and client environments.
|
|
6
|
+
* On the client, context functions are no-ops since AsyncLocalStorage is unavailable.
|
|
7
|
+
*/
|
|
8
|
+
// Client-side stub implementation
|
|
9
|
+
const clientStubStorage = {
|
|
10
|
+
getStore: () => undefined,
|
|
11
|
+
run: (_store, fn) => fn(),
|
|
12
|
+
};
|
|
13
|
+
// Runtime-initialized storage (populated on server, stub on client)
|
|
14
|
+
let logContextStorage = clientStubStorage;
|
|
15
|
+
let initialized = false;
|
|
16
|
+
/**
|
|
17
|
+
* Initialize AsyncLocalStorage on the server
|
|
18
|
+
* This is called lazily when context functions are first used
|
|
4
19
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
20
|
+
function ensureInitialized() {
|
|
21
|
+
if (initialized)
|
|
22
|
+
return;
|
|
23
|
+
initialized = true;
|
|
24
|
+
// Only attempt to load async_hooks on the server
|
|
25
|
+
if (typeof window === 'undefined') {
|
|
26
|
+
try {
|
|
27
|
+
// Dynamic require to avoid static analysis by bundlers
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
29
|
+
const asyncHooks = require('async_hooks');
|
|
30
|
+
logContextStorage = new asyncHooks.AsyncLocalStorage();
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// If async_hooks is not available, keep using the stub
|
|
34
|
+
console.warn('[hazo_logs] AsyncLocalStorage not available, context tracking disabled');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
7
38
|
/**
|
|
8
39
|
* Generate a human-readable session ID
|
|
9
40
|
* Format: 2025-12-17-14:30:45-1234 (date-time-4digit)
|
|
@@ -26,6 +57,7 @@ export function generateSessionId() {
|
|
|
26
57
|
* });
|
|
27
58
|
*/
|
|
28
59
|
export function startSession(options, fn) {
|
|
60
|
+
ensureInitialized();
|
|
29
61
|
const sessionId = generateSessionId();
|
|
30
62
|
return logContextStorage.run({ sessionId, reference: options.reference, depth: 1 }, () => {
|
|
31
63
|
// Auto-log session start if logger provided
|
|
@@ -49,6 +81,7 @@ export function startSession(options, fn) {
|
|
|
49
81
|
* });
|
|
50
82
|
*/
|
|
51
83
|
export async function startSessionAsync(options, fn) {
|
|
84
|
+
ensureInitialized();
|
|
52
85
|
const sessionId = generateSessionId();
|
|
53
86
|
return logContextStorage.run({ sessionId, reference: options.reference, depth: 1 }, async () => {
|
|
54
87
|
// Auto-log session start if logger provided
|
|
@@ -73,6 +106,7 @@ export async function startSessionAsync(options, fn) {
|
|
|
73
106
|
* });
|
|
74
107
|
*/
|
|
75
108
|
export function runWithLogContext(context, fn) {
|
|
109
|
+
ensureInitialized();
|
|
76
110
|
const parentContext = logContextStorage.getStore();
|
|
77
111
|
const parentDepth = parentContext?.depth ?? 0;
|
|
78
112
|
const newContext = {
|
|
@@ -95,6 +129,7 @@ export function runWithLogContext(context, fn) {
|
|
|
95
129
|
* });
|
|
96
130
|
*/
|
|
97
131
|
export function runWithLogContextAsync(context, fn) {
|
|
132
|
+
ensureInitialized();
|
|
98
133
|
const parentContext = logContextStorage.getStore();
|
|
99
134
|
const parentDepth = parentContext?.depth ?? 0;
|
|
100
135
|
const newContext = {
|
|
@@ -109,6 +144,7 @@ export function runWithLogContextAsync(context, fn) {
|
|
|
109
144
|
* Returns undefined if not within a context
|
|
110
145
|
*/
|
|
111
146
|
export function getLogContext() {
|
|
147
|
+
ensureInitialized();
|
|
112
148
|
return logContextStorage.getStore();
|
|
113
149
|
}
|
|
114
150
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-context.js","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"log-context.js","sourceRoot":"","sources":["../../../src/lib/context/log-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core singleton logger for hazo_logs
|
|
3
3
|
* Manages the Winston logger instance and transports
|
|
4
|
+
*
|
|
5
|
+
* This module is server-only. All imports are lazy-loaded to prevent
|
|
6
|
+
* bundlers from including server-only dependencies in client bundles.
|
|
4
7
|
*/
|
|
5
8
|
import type { HazoLogConfig, LogEntry } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Load server-only dependencies asynchronously
|
|
11
|
+
* Uses dynamic import to avoid static analysis by bundlers
|
|
12
|
+
*/
|
|
13
|
+
declare function loadDependencies(): Promise<void>;
|
|
6
14
|
export declare class HazoLogger {
|
|
7
15
|
private static instance;
|
|
16
|
+
private static instancePromise;
|
|
8
17
|
private winstonLogger;
|
|
9
18
|
private config;
|
|
10
19
|
private executionId;
|
|
@@ -15,7 +24,13 @@ export declare class HazoLogger {
|
|
|
15
24
|
*/
|
|
16
25
|
private generateExecutionId;
|
|
17
26
|
/**
|
|
18
|
-
* Get the singleton instance of HazoLogger
|
|
27
|
+
* Get the singleton instance of HazoLogger (async)
|
|
28
|
+
* @param configPath - Optional path to config file (only used on first call)
|
|
29
|
+
*/
|
|
30
|
+
static getInstanceAsync(configPath?: string): Promise<HazoLogger>;
|
|
31
|
+
/**
|
|
32
|
+
* Get the singleton instance of HazoLogger (synchronous)
|
|
33
|
+
* Only works if dependencies have already been loaded via getInstanceAsync
|
|
19
34
|
* @param configPath - Optional path to config file (only used on first call)
|
|
20
35
|
*/
|
|
21
36
|
static getInstance(configPath?: string): HazoLogger;
|
|
@@ -42,4 +57,5 @@ export declare class HazoLogger {
|
|
|
42
57
|
getExecutionId(): string;
|
|
43
58
|
private createWinstonLogger;
|
|
44
59
|
}
|
|
60
|
+
export { loadDependencies as preloadHazoLogger };
|
|
45
61
|
//# sourceMappingURL=hazo_logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hazo_logger.d.ts","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hazo_logger.d.ts","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAY,MAAM,YAAY,CAAC;AAUpE;;;GAGG;AACH,iBAAe,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAyB/C;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAoC;IAClE,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IASP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;WACiB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB9E;;;;OAIG;WACW,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU;IAgB1D;;OAEG;WACW,KAAK,IAAI,IAAI;IAQ3B;;OAEG;IACI,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMjC;;;OAGG;IACI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG,IAAI;IAalF;;OAEG;IACI,SAAS,IAAI,aAAa;IAIjC;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B,OAAO,CAAC,mBAAmB;CAoB5B;AAGD,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
|
package/dist/lib/hazo_logger.js
CHANGED
|
@@ -1,19 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core singleton logger for hazo_logs
|
|
3
3
|
* Manages the Winston logger instance and transports
|
|
4
|
+
*
|
|
5
|
+
* This module is server-only. All imports are lazy-loaded to prevent
|
|
6
|
+
* bundlers from including server-only dependencies in client bundles.
|
|
4
7
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
// Lazy-loaded dependencies (populated on first getInstance call)
|
|
9
|
+
let winston = null;
|
|
10
|
+
let loadConfigFn = null;
|
|
11
|
+
let createConsoleTransportFn = null;
|
|
12
|
+
let createFileTransportFn = null;
|
|
13
|
+
let dependenciesLoaded = false;
|
|
14
|
+
let loadPromise = null;
|
|
15
|
+
/**
|
|
16
|
+
* Load server-only dependencies asynchronously
|
|
17
|
+
* Uses dynamic import to avoid static analysis by bundlers
|
|
18
|
+
*/
|
|
19
|
+
async function loadDependencies() {
|
|
20
|
+
if (dependenciesLoaded)
|
|
21
|
+
return;
|
|
22
|
+
if (loadPromise)
|
|
23
|
+
return loadPromise;
|
|
24
|
+
// Only load on server
|
|
25
|
+
if (typeof window !== 'undefined') {
|
|
26
|
+
throw new Error('[hazo_logs] HazoLogger cannot be used on the client. Use createLogger from hazo_logs (universal) or createClientLogger from hazo_logs/ui instead.');
|
|
27
|
+
}
|
|
28
|
+
loadPromise = (async () => {
|
|
29
|
+
const [winstonMod, configMod, consoleMod, fileMod] = await Promise.all([
|
|
30
|
+
import('winston'),
|
|
31
|
+
import('./config_loader.js'),
|
|
32
|
+
import('./transports/console_transport.js'),
|
|
33
|
+
import('./transports/file_transport.js'),
|
|
34
|
+
]);
|
|
35
|
+
winston = winstonMod.default;
|
|
36
|
+
loadConfigFn = configMod.loadConfig;
|
|
37
|
+
createConsoleTransportFn = consoleMod.createConsoleTransport;
|
|
38
|
+
createFileTransportFn = fileMod.createFileTransport;
|
|
39
|
+
dependenciesLoaded = true;
|
|
40
|
+
})();
|
|
41
|
+
return loadPromise;
|
|
42
|
+
}
|
|
9
43
|
export class HazoLogger {
|
|
10
44
|
static instance = null;
|
|
45
|
+
static instancePromise = null;
|
|
11
46
|
winstonLogger;
|
|
12
47
|
config;
|
|
13
48
|
executionId;
|
|
14
49
|
constructor(configPath) {
|
|
50
|
+
if (!dependenciesLoaded || !loadConfigFn) {
|
|
51
|
+
throw new Error('[hazo_logs] Dependencies not loaded. Use HazoLogger.getInstanceAsync() instead.');
|
|
52
|
+
}
|
|
15
53
|
this.executionId = this.generateExecutionId();
|
|
16
|
-
this.config =
|
|
54
|
+
this.config = loadConfigFn(configPath);
|
|
17
55
|
this.winstonLogger = this.createWinstonLogger();
|
|
18
56
|
}
|
|
19
57
|
/**
|
|
@@ -28,13 +66,37 @@ export class HazoLogger {
|
|
|
28
66
|
return `${datePart}-${timePart}-${randomPart}`;
|
|
29
67
|
}
|
|
30
68
|
/**
|
|
31
|
-
* Get the singleton instance of HazoLogger
|
|
69
|
+
* Get the singleton instance of HazoLogger (async)
|
|
32
70
|
* @param configPath - Optional path to config file (only used on first call)
|
|
33
71
|
*/
|
|
34
|
-
static
|
|
35
|
-
if (
|
|
72
|
+
static async getInstanceAsync(configPath) {
|
|
73
|
+
if (HazoLogger.instance) {
|
|
74
|
+
return HazoLogger.instance;
|
|
75
|
+
}
|
|
76
|
+
if (HazoLogger.instancePromise) {
|
|
77
|
+
return HazoLogger.instancePromise;
|
|
78
|
+
}
|
|
79
|
+
HazoLogger.instancePromise = (async () => {
|
|
80
|
+
await loadDependencies();
|
|
36
81
|
HazoLogger.instance = new HazoLogger(configPath);
|
|
82
|
+
return HazoLogger.instance;
|
|
83
|
+
})();
|
|
84
|
+
return HazoLogger.instancePromise;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get the singleton instance of HazoLogger (synchronous)
|
|
88
|
+
* Only works if dependencies have already been loaded via getInstanceAsync
|
|
89
|
+
* @param configPath - Optional path to config file (only used on first call)
|
|
90
|
+
*/
|
|
91
|
+
static getInstance(configPath) {
|
|
92
|
+
if (HazoLogger.instance) {
|
|
93
|
+
return HazoLogger.instance;
|
|
37
94
|
}
|
|
95
|
+
if (!dependenciesLoaded) {
|
|
96
|
+
throw new Error('[hazo_logs] HazoLogger.getInstance() requires dependencies to be pre-loaded. ' +
|
|
97
|
+
'Use HazoLogger.getInstanceAsync() instead, or call loadDependencies() first.');
|
|
98
|
+
}
|
|
99
|
+
HazoLogger.instance = new HazoLogger(configPath);
|
|
38
100
|
return HazoLogger.instance;
|
|
39
101
|
}
|
|
40
102
|
/**
|
|
@@ -42,14 +104,17 @@ export class HazoLogger {
|
|
|
42
104
|
*/
|
|
43
105
|
static reset() {
|
|
44
106
|
if (HazoLogger.instance) {
|
|
45
|
-
HazoLogger.instance.winstonLogger
|
|
107
|
+
HazoLogger.instance.winstonLogger?.close();
|
|
46
108
|
HazoLogger.instance = null;
|
|
109
|
+
HazoLogger.instancePromise = null;
|
|
47
110
|
}
|
|
48
111
|
}
|
|
49
112
|
/**
|
|
50
113
|
* Log an entry - called by PackageLogger
|
|
51
114
|
*/
|
|
52
115
|
log(entry) {
|
|
116
|
+
if (!this.winstonLogger)
|
|
117
|
+
return;
|
|
53
118
|
const { level, message, ...meta } = entry;
|
|
54
119
|
this.winstonLogger.log(level, message, meta);
|
|
55
120
|
}
|
|
@@ -58,6 +123,8 @@ export class HazoLogger {
|
|
|
58
123
|
* Used for logs sent from the browser
|
|
59
124
|
*/
|
|
60
125
|
logClient(entry) {
|
|
126
|
+
if (!this.winstonLogger)
|
|
127
|
+
return;
|
|
61
128
|
const fullEntry = {
|
|
62
129
|
...entry,
|
|
63
130
|
executionId: this.executionId,
|
|
@@ -81,12 +148,15 @@ export class HazoLogger {
|
|
|
81
148
|
return this.executionId;
|
|
82
149
|
}
|
|
83
150
|
createWinstonLogger() {
|
|
151
|
+
if (!winston || !createConsoleTransportFn || !createFileTransportFn) {
|
|
152
|
+
throw new Error('[hazo_logs] Dependencies not loaded');
|
|
153
|
+
}
|
|
84
154
|
const transports = [];
|
|
85
155
|
if (this.config.enable_console) {
|
|
86
|
-
transports.push(
|
|
156
|
+
transports.push(createConsoleTransportFn(this.config.log_level));
|
|
87
157
|
}
|
|
88
158
|
if (this.config.enable_file) {
|
|
89
|
-
transports.push(
|
|
159
|
+
transports.push(createFileTransportFn(this.config));
|
|
90
160
|
}
|
|
91
161
|
return winston.createLogger({
|
|
92
162
|
level: this.config.log_level,
|
|
@@ -94,4 +164,6 @@ export class HazoLogger {
|
|
|
94
164
|
});
|
|
95
165
|
}
|
|
96
166
|
}
|
|
167
|
+
// Export the async loader for pre-initialization
|
|
168
|
+
export { loadDependencies as preloadHazoLogger };
|
|
97
169
|
//# sourceMappingURL=hazo_logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hazo_logger.js","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"hazo_logger.js","sourceRoot":"","sources":["../../src/lib/hazo_logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,13 @@ import type { Logger, LogData, PackageLoggerOptions } from './types.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class PackageLogger implements Logger {
|
|
12
12
|
private coreLogger;
|
|
13
|
+
private coreLoggerPromise;
|
|
13
14
|
private packageName;
|
|
14
15
|
constructor(options: PackageLoggerOptions, coreLogger?: HazoLogger);
|
|
16
|
+
/**
|
|
17
|
+
* Get the core logger, waiting if necessary
|
|
18
|
+
*/
|
|
19
|
+
private getCoreLogger;
|
|
15
20
|
private log;
|
|
16
21
|
error(message: string, data?: LogData): void;
|
|
17
22
|
warn(message: string, data?: LogData): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package_logger.d.ts","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAY,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlF;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"package_logger.d.ts","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAY,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIlF;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,oBAAoB,EAAE,UAAU,CAAC,EAAE,UAAU;IAalE;;OAEG;YACW,aAAa;IAQ3B,OAAO,CAAC,GAAG;IAkCX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAG7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD"}
|
|
@@ -10,28 +10,64 @@ import { getLogContext } from './context/log-context.js';
|
|
|
10
10
|
* Tags all log entries with the package name and captures caller info
|
|
11
11
|
*/
|
|
12
12
|
export class PackageLogger {
|
|
13
|
-
coreLogger;
|
|
13
|
+
coreLogger = null;
|
|
14
|
+
coreLoggerPromise = null;
|
|
14
15
|
packageName;
|
|
15
16
|
constructor(options, coreLogger) {
|
|
16
17
|
this.packageName = options.packageName;
|
|
17
|
-
|
|
18
|
+
if (coreLogger) {
|
|
19
|
+
this.coreLogger = coreLogger;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
// Start async loading of the core logger
|
|
23
|
+
this.coreLoggerPromise = HazoLogger.getInstanceAsync().then((logger) => {
|
|
24
|
+
this.coreLogger = logger;
|
|
25
|
+
return logger;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the core logger, waiting if necessary
|
|
31
|
+
*/
|
|
32
|
+
async getCoreLogger() {
|
|
33
|
+
if (this.coreLogger)
|
|
34
|
+
return this.coreLogger;
|
|
35
|
+
if (this.coreLoggerPromise) {
|
|
36
|
+
return this.coreLoggerPromise;
|
|
37
|
+
}
|
|
38
|
+
throw new Error('[hazo_logs] Core logger not initialized');
|
|
18
39
|
}
|
|
19
40
|
log(level, message, data) {
|
|
20
41
|
const { filename, line } = getCallerInfo();
|
|
21
42
|
const context = getLogContext();
|
|
22
|
-
|
|
43
|
+
const logEntry = {
|
|
23
44
|
timestamp: new Date().toISOString(),
|
|
24
45
|
level,
|
|
25
46
|
package: this.packageName,
|
|
26
47
|
message,
|
|
27
48
|
filename,
|
|
28
49
|
line,
|
|
29
|
-
executionId:
|
|
50
|
+
executionId: '', // Will be set when core logger is available
|
|
30
51
|
...(context?.sessionId ? { sessionId: context.sessionId } : {}),
|
|
31
52
|
...(context?.reference ? { reference: context.reference } : {}),
|
|
32
53
|
...(context?.depth ? { depth: context.depth } : {}),
|
|
33
54
|
...(data ? { data } : {}),
|
|
34
|
-
}
|
|
55
|
+
};
|
|
56
|
+
if (this.coreLogger) {
|
|
57
|
+
// Core logger is ready, log immediately
|
|
58
|
+
logEntry.executionId = this.coreLogger.getExecutionId();
|
|
59
|
+
this.coreLogger.log(logEntry);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// Core logger is still initializing, queue the log
|
|
63
|
+
this.getCoreLogger().then((logger) => {
|
|
64
|
+
logEntry.executionId = logger.getExecutionId();
|
|
65
|
+
logger.log(logEntry);
|
|
66
|
+
}).catch(() => {
|
|
67
|
+
// Fallback to console if core logger fails to initialize
|
|
68
|
+
console.error(`[${this.packageName}] ${message}`, data);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
35
71
|
}
|
|
36
72
|
error(message, data) {
|
|
37
73
|
this.log('error', message, data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package_logger.js","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,UAAU,
|
|
1
|
+
{"version":3,"file":"package_logger.js","sourceRoot":"","sources":["../../src/lib/package_logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hazo_logs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "Logger for hazo packages - Winston wrapper with singleton pattern",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -56,6 +56,9 @@
|
|
|
56
56
|
],
|
|
57
57
|
"author": "Pubs Abayasiri",
|
|
58
58
|
"license": "MIT",
|
|
59
|
+
"engines": {
|
|
60
|
+
"node": ">=18.0.0"
|
|
61
|
+
},
|
|
59
62
|
"bugs": {
|
|
60
63
|
"url": "https://github.com/pub12/hazo_logs/issues"
|
|
61
64
|
},
|