hazo_logs 1.0.9 → 1.0.11
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 +29 -10
- package/dist/client/index.d.ts +41 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +46 -0
- package/dist/client/index.js.map +1 -0
- package/dist/lib/console-logger.d.ts +25 -0
- package/dist/lib/console-logger.d.ts.map +1 -0
- package/dist/lib/console-logger.js +53 -0
- package/dist/lib/console-logger.js.map +1 -0
- package/dist/lib/log-reader.d.ts.map +1 -1
- package/dist/lib/log-reader.js +16 -51
- package/dist/lib/log-reader.js.map +1 -1
- package/dist/lib/universal-logger.d.ts +2 -16
- package/dist/lib/universal-logger.d.ts.map +1 -1
- package/dist/lib/universal-logger.js +1 -45
- package/dist/lib/universal-logger.js.map +1 -1
- package/package.json +22 -16
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ npm install hazo_logs
|
|
|
26
26
|
For the UI components, also install peer dependencies:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
npm install hazo_logs next react hazo_ui
|
|
29
|
+
npm install hazo_logs next react react-dom hazo_ui
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
### Basic Usage (Logging Only)
|
|
@@ -185,14 +185,32 @@ 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.
|
|
188
|
+
**Next.js 16+ Turbopack Compatibility**: As of v1.0.10, hazo_logs uses **conditional exports** in `package.json` to automatically serve a client-safe bundle to browser environments. When bundlers (Next.js Turbopack, Webpack, etc.) resolve `hazo_logs`, they automatically receive:
|
|
189
|
+
- **Browser/Client**: A lightweight console-only logger with zero Node.js dependencies
|
|
190
|
+
- **Node.js/Server**: The full winston-based logger with file transports
|
|
191
|
+
|
|
192
|
+
This eliminates "Can't resolve 'fs'" errors completely without requiring any special import paths for basic logging.
|
|
189
193
|
|
|
190
194
|
### Tailwind CSS Setup Required
|
|
191
195
|
|
|
192
|
-
The log viewer UI uses dynamic Tailwind classes that would be purged during build.
|
|
196
|
+
The log viewer UI uses dynamic Tailwind classes that would be purged during build.
|
|
197
|
+
|
|
198
|
+
#### Tailwind v4 Setup
|
|
199
|
+
|
|
200
|
+
Add the `@source` directive to your `globals.css` to enable Tailwind to scan hazo_logs classes:
|
|
201
|
+
|
|
202
|
+
```css
|
|
203
|
+
@import "tailwindcss";
|
|
204
|
+
|
|
205
|
+
/* Required: Enable Tailwind to scan hazo_logs package classes */
|
|
206
|
+
@source "../node_modules/hazo_logs/dist";
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Why this is needed:** Tailwind v4's JIT compiler doesn't scan `node_modules/` by default. Without this directive, hover states and interactive styles will be invisible.
|
|
210
|
+
|
|
211
|
+
#### Tailwind v3 Setup
|
|
193
212
|
|
|
194
|
-
|
|
195
|
-
2. **Safelist**: To preserve dynamically-constructed classes
|
|
213
|
+
Configure both the content path and safelist:
|
|
196
214
|
|
|
197
215
|
```typescript
|
|
198
216
|
import { tailwindSafelist, tailwindContentPath } from 'hazo_logs/tailwind';
|
|
@@ -528,14 +546,15 @@ Error: Module not found: Can't resolve 'async_hooks'
|
|
|
528
546
|
Error: Module not found: Can't resolve 'fs'
|
|
529
547
|
```
|
|
530
548
|
|
|
531
|
-
This error occurred in earlier versions when server-only code was imported in client components. **As of v1.0.
|
|
549
|
+
This error occurred in earlier versions when server-only code was imported in client components. **As of v1.0.10, this is fully fixed** - the library now uses **conditional exports** in `package.json`, so bundlers automatically receive a client-safe bundle with zero Node.js dependencies.
|
|
532
550
|
|
|
533
551
|
If you still see this error:
|
|
534
552
|
|
|
535
|
-
1. **Upgrade hazo_logs**: Run `npm update hazo_logs` to get
|
|
536
|
-
2. **
|
|
537
|
-
3. **For
|
|
538
|
-
4. **For
|
|
553
|
+
1. **Upgrade hazo_logs**: Run `npm update hazo_logs` to get v1.0.10 or later
|
|
554
|
+
2. **Clear build cache**: Run `rm -rf .next` and rebuild
|
|
555
|
+
3. **For logging in client components**: The base `hazo_logs` import now works automatically (returns console logger on client)
|
|
556
|
+
4. **For client logging that posts to server**: Use `createClientLogger` from `hazo_logs/ui`
|
|
557
|
+
5. **For full server capabilities**: Import from `hazo_logs/server` for file logging, sessions, and context
|
|
539
558
|
|
|
540
559
|
### hazo_ui missing errors
|
|
541
560
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hazo_logs/client - Client-safe logging module
|
|
3
|
+
*
|
|
4
|
+
* This module contains ONLY client-safe code with NO imports that could
|
|
5
|
+
* lead to Node.js modules (winston, fs, path, etc.).
|
|
6
|
+
*
|
|
7
|
+
* Used automatically when bundlers resolve 'hazo_logs' for browser targets.
|
|
8
|
+
*/
|
|
9
|
+
import type { Logger } from '../lib/types.js';
|
|
10
|
+
export { ConsoleLogger } from '../lib/console-logger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Create a client-side logger that outputs to browser console
|
|
13
|
+
*
|
|
14
|
+
* @param packageName - Name of the package (e.g., "hazo_auth", "my_app")
|
|
15
|
+
* @returns Logger instance that logs to console
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { createLogger } from 'hazo_logs';
|
|
20
|
+
*
|
|
21
|
+
* const logger = createLogger('my_app');
|
|
22
|
+
* logger.info('Application started');
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* Note: For full server capabilities (file logging, context), use:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { createLogger } from 'hazo_logs/server';
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function createLogger(packageName: string): Logger;
|
|
31
|
+
/**
|
|
32
|
+
* Async version - same as createLogger on client
|
|
33
|
+
* Provided for API compatibility with server version
|
|
34
|
+
*/
|
|
35
|
+
export declare function createLoggerAsync(packageName: string): Promise<Logger>;
|
|
36
|
+
/**
|
|
37
|
+
* No-op on client - server preloading not applicable
|
|
38
|
+
*/
|
|
39
|
+
export declare function preloadServerLogger(): Promise<void>;
|
|
40
|
+
export type { Logger, LogLevel, LogData, LogEntry, LogContext, HazoLogConfig, PackageLoggerOptions, LogSource, } from '../lib/types.js';
|
|
41
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAEzD;AAGD,YAAY,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hazo_logs/client - Client-safe logging module
|
|
3
|
+
*
|
|
4
|
+
* This module contains ONLY client-safe code with NO imports that could
|
|
5
|
+
* lead to Node.js modules (winston, fs, path, etc.).
|
|
6
|
+
*
|
|
7
|
+
* Used automatically when bundlers resolve 'hazo_logs' for browser targets.
|
|
8
|
+
*/
|
|
9
|
+
import { ConsoleLogger } from '../lib/console-logger.js';
|
|
10
|
+
export { ConsoleLogger } from '../lib/console-logger.js';
|
|
11
|
+
/**
|
|
12
|
+
* Create a client-side logger that outputs to browser console
|
|
13
|
+
*
|
|
14
|
+
* @param packageName - Name of the package (e.g., "hazo_auth", "my_app")
|
|
15
|
+
* @returns Logger instance that logs to console
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { createLogger } from 'hazo_logs';
|
|
20
|
+
*
|
|
21
|
+
* const logger = createLogger('my_app');
|
|
22
|
+
* logger.info('Application started');
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* Note: For full server capabilities (file logging, context), use:
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import { createLogger } from 'hazo_logs/server';
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function createLogger(packageName) {
|
|
31
|
+
return new ConsoleLogger(packageName);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Async version - same as createLogger on client
|
|
35
|
+
* Provided for API compatibility with server version
|
|
36
|
+
*/
|
|
37
|
+
export async function createLoggerAsync(packageName) {
|
|
38
|
+
return new ConsoleLogger(packageName);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* No-op on client - server preloading not applicable
|
|
42
|
+
*/
|
|
43
|
+
export async function preloadServerLogger() {
|
|
44
|
+
// No-op on client
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,kBAAkB;AACpB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console-based logger for client-side use
|
|
3
|
+
* Shared between universal-logger and client entry point.
|
|
4
|
+
*
|
|
5
|
+
* This module imports ONLY from types.ts (pure type definitions)
|
|
6
|
+
* so it is safe for both server and client environments.
|
|
7
|
+
*/
|
|
8
|
+
import type { Logger, LogData, LogLevel } from './types.js';
|
|
9
|
+
export declare const LOG_LEVEL_PRIORITY: Record<LogLevel, number>;
|
|
10
|
+
/**
|
|
11
|
+
* Console-based logger for client-side use
|
|
12
|
+
* Provides basic logging that outputs to browser console
|
|
13
|
+
*/
|
|
14
|
+
export declare class ConsoleLogger implements Logger {
|
|
15
|
+
private packageName;
|
|
16
|
+
private minLevel;
|
|
17
|
+
constructor(packageName: string, minLevel?: LogLevel);
|
|
18
|
+
private shouldLog;
|
|
19
|
+
private formatMessage;
|
|
20
|
+
error(message: string, data?: LogData): void;
|
|
21
|
+
warn(message: string, data?: LogData): void;
|
|
22
|
+
info(message: string, data?: LogData): void;
|
|
23
|
+
debug(message: string, data?: LogData): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=console-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logger.d.ts","sourceRoot":"","sources":["../../src/lib/console-logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE5D,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAKvD,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAW;gBAEf,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAkB;IAK7D,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAKrB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI;CAK7C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console-based logger for client-side use
|
|
3
|
+
* Shared between universal-logger and client entry point.
|
|
4
|
+
*
|
|
5
|
+
* This module imports ONLY from types.ts (pure type definitions)
|
|
6
|
+
* so it is safe for both server and client environments.
|
|
7
|
+
*/
|
|
8
|
+
export const LOG_LEVEL_PRIORITY = {
|
|
9
|
+
error: 0,
|
|
10
|
+
warn: 1,
|
|
11
|
+
info: 2,
|
|
12
|
+
debug: 3,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Console-based logger for client-side use
|
|
16
|
+
* Provides basic logging that outputs to browser console
|
|
17
|
+
*/
|
|
18
|
+
export class ConsoleLogger {
|
|
19
|
+
packageName;
|
|
20
|
+
minLevel;
|
|
21
|
+
constructor(packageName, minLevel = 'debug') {
|
|
22
|
+
this.packageName = packageName;
|
|
23
|
+
this.minLevel = minLevel;
|
|
24
|
+
}
|
|
25
|
+
shouldLog(level) {
|
|
26
|
+
return LOG_LEVEL_PRIORITY[level] <= LOG_LEVEL_PRIORITY[this.minLevel];
|
|
27
|
+
}
|
|
28
|
+
formatMessage(level, message) {
|
|
29
|
+
const timestamp = new Date().toISOString();
|
|
30
|
+
return `[${timestamp}] [${level.toUpperCase()}] [${this.packageName}] ${message}`;
|
|
31
|
+
}
|
|
32
|
+
error(message, data) {
|
|
33
|
+
if (this.shouldLog('error')) {
|
|
34
|
+
console.error(this.formatMessage('error', message), data ?? '');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
warn(message, data) {
|
|
38
|
+
if (this.shouldLog('warn')) {
|
|
39
|
+
console.warn(this.formatMessage('warn', message), data ?? '');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
info(message, data) {
|
|
43
|
+
if (this.shouldLog('info')) {
|
|
44
|
+
console.info(this.formatMessage('info', message), data ?? '');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
debug(message, data) {
|
|
48
|
+
if (this.shouldLog('debug')) {
|
|
49
|
+
console.debug(this.formatMessage('debug', message), data ?? '');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=console-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-logger.js","sourceRoot":"","sources":["../../src/lib/console-logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,WAAW,CAAS;IACpB,QAAQ,CAAW;IAE3B,YAAY,WAAmB,EAAE,WAAqB,OAAO;QAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAe;QACpD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAc;QAClC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAc;QACnC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-reader.d.ts","sourceRoot":"","sources":["../../src/lib/log-reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACvF,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AASD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAgDrF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnF;
|
|
1
|
+
{"version":3,"file":"log-reader.d.ts","sourceRoot":"","sources":["../../src/lib/log-reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IACvF,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AASD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAgDrF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnF;AAgCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnB"}
|
package/dist/lib/log-reader.js
CHANGED
|
@@ -77,9 +77,9 @@ export async function getAvailableLogDates(logDirectory) {
|
|
|
77
77
|
return dates.sort((a, b) => b.localeCompare(a));
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
|
-
* Get unique
|
|
80
|
+
* Get unique values for a given field from a day's log file
|
|
81
81
|
*/
|
|
82
|
-
|
|
82
|
+
async function getUniqueFieldValues(field, logDirectory, date) {
|
|
83
83
|
const config = loadConfig();
|
|
84
84
|
const logDir = logDirectory || config.log_directory;
|
|
85
85
|
const targetDate = date || getTodayDate();
|
|
@@ -88,73 +88,38 @@ export async function getUniquePackages(logDirectory, date) {
|
|
|
88
88
|
return [];
|
|
89
89
|
}
|
|
90
90
|
const logs = await parseLogFile(logFilePath);
|
|
91
|
-
const
|
|
91
|
+
const values = new Set();
|
|
92
92
|
for (const log of logs) {
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const val = log[field];
|
|
94
|
+
if (typeof val === 'string') {
|
|
95
|
+
values.add(val);
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
|
-
return Array.from(
|
|
98
|
+
return Array.from(values).sort();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get unique package names from logs
|
|
102
|
+
*/
|
|
103
|
+
export async function getUniquePackages(logDirectory, date) {
|
|
104
|
+
return getUniqueFieldValues('package', logDirectory, date);
|
|
98
105
|
}
|
|
99
106
|
/**
|
|
100
107
|
* Get unique execution IDs from logs
|
|
101
108
|
*/
|
|
102
109
|
export async function getUniqueExecutionIds(logDirectory, date) {
|
|
103
|
-
|
|
104
|
-
const logDir = logDirectory || config.log_directory;
|
|
105
|
-
const targetDate = date || getTodayDate();
|
|
106
|
-
const logFilePath = path.resolve(logDir, `hazo-${targetDate}.log`);
|
|
107
|
-
if (!fs.existsSync(logFilePath)) {
|
|
108
|
-
return [];
|
|
109
|
-
}
|
|
110
|
-
const logs = await parseLogFile(logFilePath);
|
|
111
|
-
const executionIds = new Set();
|
|
112
|
-
for (const log of logs) {
|
|
113
|
-
if (log.executionId) {
|
|
114
|
-
executionIds.add(log.executionId);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return Array.from(executionIds).sort();
|
|
110
|
+
return getUniqueFieldValues('executionId', logDirectory, date);
|
|
118
111
|
}
|
|
119
112
|
/**
|
|
120
113
|
* Get unique session IDs from logs
|
|
121
114
|
*/
|
|
122
115
|
export async function getUniqueSessionIds(logDirectory, date) {
|
|
123
|
-
|
|
124
|
-
const logDir = logDirectory || config.log_directory;
|
|
125
|
-
const targetDate = date || getTodayDate();
|
|
126
|
-
const logFilePath = path.resolve(logDir, `hazo-${targetDate}.log`);
|
|
127
|
-
if (!fs.existsSync(logFilePath)) {
|
|
128
|
-
return [];
|
|
129
|
-
}
|
|
130
|
-
const logs = await parseLogFile(logFilePath);
|
|
131
|
-
const sessionIds = new Set();
|
|
132
|
-
for (const log of logs) {
|
|
133
|
-
if (log.sessionId) {
|
|
134
|
-
sessionIds.add(log.sessionId);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return Array.from(sessionIds).sort();
|
|
116
|
+
return getUniqueFieldValues('sessionId', logDirectory, date);
|
|
138
117
|
}
|
|
139
118
|
/**
|
|
140
119
|
* Get unique references from logs
|
|
141
120
|
*/
|
|
142
121
|
export async function getUniqueReferences(logDirectory, date) {
|
|
143
|
-
|
|
144
|
-
const logDir = logDirectory || config.log_directory;
|
|
145
|
-
const targetDate = date || getTodayDate();
|
|
146
|
-
const logFilePath = path.resolve(logDir, `hazo-${targetDate}.log`);
|
|
147
|
-
if (!fs.existsSync(logFilePath)) {
|
|
148
|
-
return [];
|
|
149
|
-
}
|
|
150
|
-
const logs = await parseLogFile(logFilePath);
|
|
151
|
-
const references = new Set();
|
|
152
|
-
for (const log of logs) {
|
|
153
|
-
if (log.reference) {
|
|
154
|
-
references.add(log.reference);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return Array.from(references).sort();
|
|
122
|
+
return getUniqueFieldValues('reference', logDirectory, date);
|
|
158
123
|
}
|
|
159
124
|
/**
|
|
160
125
|
* Parse a log file line by line
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-reader.js","sourceRoot":"","sources":["../../src/lib/log-reader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"log-reader.js","sourceRoot":"","sources":["../../src/lib/log-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,22 +7,8 @@
|
|
|
7
7
|
* For full server logging capabilities, import from 'hazo_logs/server'
|
|
8
8
|
* For client logging that posts to server API, use 'hazo_logs/ui' createClientLogger
|
|
9
9
|
*/
|
|
10
|
-
import type { Logger
|
|
11
|
-
|
|
12
|
-
* Console-based logger for client-side use
|
|
13
|
-
* Provides basic logging that outputs to browser console
|
|
14
|
-
*/
|
|
15
|
-
declare class ConsoleLogger implements Logger {
|
|
16
|
-
private packageName;
|
|
17
|
-
private minLevel;
|
|
18
|
-
constructor(packageName: string, minLevel?: LogLevel);
|
|
19
|
-
private shouldLog;
|
|
20
|
-
private formatMessage;
|
|
21
|
-
error(message: string, data?: LogData): void;
|
|
22
|
-
warn(message: string, data?: LogData): void;
|
|
23
|
-
info(message: string, data?: LogData): void;
|
|
24
|
-
debug(message: string, data?: LogData): void;
|
|
25
|
-
}
|
|
10
|
+
import type { Logger } from './types.js';
|
|
11
|
+
import { ConsoleLogger } from './console-logger.js';
|
|
26
12
|
/**
|
|
27
13
|
* Pre-load the server logger module (call this early in server startup)
|
|
28
14
|
* This allows createLogger to return a real server logger synchronously
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-logger.d.ts","sourceRoot":"","sources":["../../src/lib/universal-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"universal-logger.d.ts","sourceRoot":"","sources":["../../src/lib/universal-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA2DpD;;;GAGG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgBxD;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB5E;AAGD,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -7,57 +7,13 @@
|
|
|
7
7
|
* For full server logging capabilities, import from 'hazo_logs/server'
|
|
8
8
|
* For client logging that posts to server API, use 'hazo_logs/ui' createClientLogger
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
error: 0,
|
|
12
|
-
warn: 1,
|
|
13
|
-
info: 2,
|
|
14
|
-
debug: 3,
|
|
15
|
-
};
|
|
10
|
+
import { ConsoleLogger } from './console-logger.js';
|
|
16
11
|
/**
|
|
17
12
|
* Check if we're running on the server
|
|
18
13
|
*/
|
|
19
14
|
function isServer() {
|
|
20
15
|
return typeof window === 'undefined';
|
|
21
16
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Console-based logger for client-side use
|
|
24
|
-
* Provides basic logging that outputs to browser console
|
|
25
|
-
*/
|
|
26
|
-
class ConsoleLogger {
|
|
27
|
-
packageName;
|
|
28
|
-
minLevel;
|
|
29
|
-
constructor(packageName, minLevel = 'debug') {
|
|
30
|
-
this.packageName = packageName;
|
|
31
|
-
this.minLevel = minLevel;
|
|
32
|
-
}
|
|
33
|
-
shouldLog(level) {
|
|
34
|
-
return LOG_LEVEL_PRIORITY[level] <= LOG_LEVEL_PRIORITY[this.minLevel];
|
|
35
|
-
}
|
|
36
|
-
formatMessage(level, message) {
|
|
37
|
-
const timestamp = new Date().toISOString();
|
|
38
|
-
return `[${timestamp}] [${level.toUpperCase()}] [${this.packageName}] ${message}`;
|
|
39
|
-
}
|
|
40
|
-
error(message, data) {
|
|
41
|
-
if (this.shouldLog('error')) {
|
|
42
|
-
console.error(this.formatMessage('error', message), data ?? '');
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
warn(message, data) {
|
|
46
|
-
if (this.shouldLog('warn')) {
|
|
47
|
-
console.warn(this.formatMessage('warn', message), data ?? '');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
info(message, data) {
|
|
51
|
-
if (this.shouldLog('info')) {
|
|
52
|
-
console.info(this.formatMessage('info', message), data ?? '');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
debug(message, data) {
|
|
56
|
-
if (this.shouldLog('debug')) {
|
|
57
|
-
console.debug(this.formatMessage('debug', message), data ?? '');
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
17
|
/**
|
|
62
18
|
* Deferred logger that upgrades from ConsoleLogger to real server logger
|
|
63
19
|
* when the server module is loaded asynchronously
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal-logger.js","sourceRoot":"","sources":["../../src/lib/universal-logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"universal-logger.js","sourceRoot":"","sources":["../../src/lib/universal-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.11",
|
|
4
4
|
"description": "Logger for hazo packages - Winston wrapper with singleton pattern",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,33 +8,35 @@
|
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
11
|
+
"browser": "./dist/client/index.js",
|
|
12
|
+
"node": "./dist/index.js",
|
|
13
|
+
"import": "./dist/index.js"
|
|
13
14
|
},
|
|
14
15
|
"./server": {
|
|
15
16
|
"types": "./dist/server.d.ts",
|
|
16
|
-
"import": "./dist/server.js"
|
|
17
|
-
|
|
17
|
+
"import": "./dist/server.js"
|
|
18
|
+
},
|
|
19
|
+
"./client": {
|
|
20
|
+
"types": "./dist/client/index.d.ts",
|
|
21
|
+
"import": "./dist/client/index.js"
|
|
18
22
|
},
|
|
19
23
|
"./ui": {
|
|
20
24
|
"types": "./dist/ui/index.d.ts",
|
|
21
|
-
"import": "./dist/ui/index.js"
|
|
22
|
-
"require": "./dist/ui/index.js"
|
|
25
|
+
"import": "./dist/ui/index.js"
|
|
23
26
|
},
|
|
24
27
|
"./ui/server": {
|
|
25
28
|
"types": "./dist/ui/server.d.ts",
|
|
26
|
-
"import": "./dist/ui/server.js"
|
|
27
|
-
"require": "./dist/ui/server.js"
|
|
29
|
+
"import": "./dist/ui/server.js"
|
|
28
30
|
},
|
|
29
31
|
"./tailwind": {
|
|
30
32
|
"types": "./dist/tailwind.d.ts",
|
|
31
|
-
"import": "./dist/tailwind.js"
|
|
32
|
-
"require": "./dist/tailwind.js"
|
|
33
|
+
"import": "./dist/tailwind.js"
|
|
33
34
|
}
|
|
34
35
|
},
|
|
35
36
|
"files": [
|
|
36
37
|
"dist",
|
|
37
|
-
"config"
|
|
38
|
+
"config",
|
|
39
|
+
"README.md"
|
|
38
40
|
],
|
|
39
41
|
"scripts": {
|
|
40
42
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -73,16 +75,17 @@
|
|
|
73
75
|
"@types/ini": "^4.1.1",
|
|
74
76
|
"@types/node": "^22.10.2",
|
|
75
77
|
"@types/react": "^19.0.1",
|
|
76
|
-
"hazo_ui": "
|
|
77
|
-
"next": "^
|
|
78
|
+
"hazo_ui": ">=2.7.0",
|
|
79
|
+
"next": "^16.0.10",
|
|
78
80
|
"react": "^19.0.0",
|
|
79
81
|
"typescript": "^5.7.2",
|
|
80
82
|
"vitest": "^4.0.15"
|
|
81
83
|
},
|
|
82
84
|
"peerDependencies": {
|
|
83
|
-
"hazo_ui": ">=2.
|
|
85
|
+
"hazo_ui": ">=2.7.0",
|
|
84
86
|
"next": ">=14.0.0",
|
|
85
|
-
"react": ">=18.0.0"
|
|
87
|
+
"react": ">=18.0.0",
|
|
88
|
+
"react-dom": ">=18.0.0"
|
|
86
89
|
},
|
|
87
90
|
"peerDependenciesMeta": {
|
|
88
91
|
"next": {
|
|
@@ -91,6 +94,9 @@
|
|
|
91
94
|
"react": {
|
|
92
95
|
"optional": true
|
|
93
96
|
},
|
|
97
|
+
"react-dom": {
|
|
98
|
+
"optional": true
|
|
99
|
+
},
|
|
94
100
|
"hazo_ui": {
|
|
95
101
|
"optional": true
|
|
96
102
|
}
|