hazo_logs 1.0.5 → 1.0.7
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 +82 -4
- package/dist/ui/api/log-api-handler.d.ts.map +1 -1
- package/dist/ui/api/log-api-handler.js +14 -1
- package/dist/ui/api/log-api-handler.js.map +1 -1
- package/dist/ui/client-config.d.ts +65 -0
- package/dist/ui/client-config.d.ts.map +1 -0
- package/dist/ui/client-config.js +53 -0
- package/dist/ui/client-config.js.map +1 -0
- package/dist/ui/client-logger.d.ts +0 -6
- package/dist/ui/client-logger.d.ts.map +1 -1
- package/dist/ui/client-logger.js +19 -1
- package/dist/ui/client-logger.js.map +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +2 -0
- package/dist/ui/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -78,7 +78,8 @@ import { createLogApiHandler } from 'hazo_logs/ui/server';
|
|
|
78
78
|
|
|
79
79
|
const handler = createLogApiHandler();
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
// GET for log viewer, POST for client-side logging
|
|
82
|
+
export const { GET, POST } = handler;
|
|
82
83
|
```
|
|
83
84
|
|
|
84
85
|
**2. Create UI page** (`app/logs/page.tsx`):
|
|
@@ -116,21 +117,45 @@ Visit `/logs` in your app to view logs!
|
|
|
116
117
|
|
|
117
118
|
### Client-Side Logging (Browser)
|
|
118
119
|
|
|
119
|
-
For logging from client components (browser), use the client logger
|
|
120
|
+
For logging from client components (browser), use the client logger.
|
|
121
|
+
|
|
122
|
+
**1. Configure global defaults (recommended):**
|
|
123
|
+
|
|
124
|
+
Set up global configuration once at app initialization. This ensures all client loggers (including those from dependency packages) use the correct API endpoint:
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
// app/providers.tsx or lib/hazo-init.ts
|
|
128
|
+
'use client';
|
|
129
|
+
import { configureClientLogger } from 'hazo_logs/ui';
|
|
130
|
+
|
|
131
|
+
// Configure once at app startup
|
|
132
|
+
configureClientLogger({
|
|
133
|
+
apiBasePath: '/api/logs', // Required: your log API endpoint
|
|
134
|
+
minLevel: 'info', // Optional: minimum log level
|
|
135
|
+
});
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**2. Create loggers in your components:**
|
|
120
139
|
|
|
121
140
|
```typescript
|
|
122
141
|
'use client';
|
|
123
142
|
import { createClientLogger } from 'hazo_logs/ui';
|
|
124
143
|
|
|
144
|
+
// No need to specify apiBasePath - inherits from global config
|
|
125
145
|
const logger = createClientLogger({
|
|
126
146
|
packageName: 'my-app-client',
|
|
127
|
-
apiBasePath: '/api/logs',
|
|
128
147
|
});
|
|
129
148
|
|
|
130
149
|
logger.info('User clicked button', { buttonId: 'submit' });
|
|
131
150
|
logger.error('Failed to load data', { error: err.message });
|
|
132
151
|
```
|
|
133
152
|
|
|
153
|
+
**Why use global configuration?**
|
|
154
|
+
|
|
155
|
+
- Dependency packages (like `hazo_collab_forms`) automatically use your configured endpoint
|
|
156
|
+
- Avoids 404 errors from loggers using the wrong default path
|
|
157
|
+
- Single place to configure all client logging settings
|
|
158
|
+
|
|
134
159
|
## Important Notes
|
|
135
160
|
|
|
136
161
|
### Server-Only Core Logger
|
|
@@ -344,6 +369,40 @@ Read logs from files with filtering and pagination (server-side only).
|
|
|
344
369
|
|
|
345
370
|
### UI Exports (`hazo_logs/ui`)
|
|
346
371
|
|
|
372
|
+
#### `configureClientLogger(config: ClientLoggerGlobalConfig): void`
|
|
373
|
+
|
|
374
|
+
Configure global defaults for all client loggers. Call once at app initialization.
|
|
375
|
+
|
|
376
|
+
```typescript
|
|
377
|
+
configureClientLogger({
|
|
378
|
+
apiBasePath: '/api/logs', // Required
|
|
379
|
+
minLevel: 'info', // Optional
|
|
380
|
+
consoleOutput: true, // Optional
|
|
381
|
+
batchMode: false, // Optional
|
|
382
|
+
batchInterval: 5000, // Optional (ms)
|
|
383
|
+
});
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
#### `getClientLoggerConfig(): ClientLoggerGlobalConfig | undefined`
|
|
387
|
+
|
|
388
|
+
Get current global configuration (returns undefined if not configured).
|
|
389
|
+
|
|
390
|
+
#### `isClientLoggerConfigured(): boolean`
|
|
391
|
+
|
|
392
|
+
Check if global configuration has been set.
|
|
393
|
+
|
|
394
|
+
#### `createClientLogger(config?: ClientLoggerConfig): ClientLogger`
|
|
395
|
+
|
|
396
|
+
Create a client-side logger. Inherits from global config if set.
|
|
397
|
+
|
|
398
|
+
```typescript
|
|
399
|
+
const logger = createClientLogger({
|
|
400
|
+
packageName: 'my-component', // Tag for this logger
|
|
401
|
+
sessionId: 'sess_123', // Optional session tracking
|
|
402
|
+
reference: 'user_456', // Optional reference tracking
|
|
403
|
+
});
|
|
404
|
+
```
|
|
405
|
+
|
|
347
406
|
#### `LogViewerPage`
|
|
348
407
|
|
|
349
408
|
Main log viewer component.
|
|
@@ -374,7 +433,8 @@ Create Next.js API route handler.
|
|
|
374
433
|
**Returns:**
|
|
375
434
|
```typescript
|
|
376
435
|
{
|
|
377
|
-
GET: (request: Request) => Promise<Response
|
|
436
|
+
GET: (request: Request) => Promise<Response>, // Log viewer queries
|
|
437
|
+
POST: (request: Request) => Promise<Response>, // Client-side log ingestion
|
|
378
438
|
}
|
|
379
439
|
```
|
|
380
440
|
|
|
@@ -462,6 +522,24 @@ The log viewer UI requires `hazo_ui` package. Install it:
|
|
|
462
522
|
npm install hazo_ui
|
|
463
523
|
```
|
|
464
524
|
|
|
525
|
+
### POST /api/logs 404 errors
|
|
526
|
+
|
|
527
|
+
If you see repeated `POST /api/logs 404` errors, client loggers are using the default endpoint which doesn't match your API route location.
|
|
528
|
+
|
|
529
|
+
**Solution**: Configure the global client logger at app startup:
|
|
530
|
+
|
|
531
|
+
```typescript
|
|
532
|
+
// app/providers.tsx or lib/hazo-init.ts
|
|
533
|
+
'use client';
|
|
534
|
+
import { configureClientLogger } from 'hazo_logs/ui';
|
|
535
|
+
|
|
536
|
+
configureClientLogger({
|
|
537
|
+
apiBasePath: '/api/hazo_logs/logs', // Match your actual route
|
|
538
|
+
});
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
This ensures all client loggers (including those from dependency packages) use the correct endpoint.
|
|
542
|
+
|
|
465
543
|
## Contributing
|
|
466
544
|
|
|
467
545
|
Contributions are welcome! Please:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-api-handler.d.ts","sourceRoot":"","sources":["../../../src/ui/api/log-api-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4B/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"log-api-handler.d.ts","sourceRoot":"","sources":["../../../src/ui/api/log-api-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4B/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,aAAa,CAyGxE"}
|
|
@@ -68,7 +68,20 @@ export function createLogApiHandler(config) {
|
|
|
68
68
|
return jsonResponse({ error: 'Log viewer is disabled' }, 403);
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
|
-
|
|
71
|
+
// Read body as text first to handle empty bodies gracefully
|
|
72
|
+
const text = await request.text();
|
|
73
|
+
// Guard against empty body (can happen with sendBeacon on page unload)
|
|
74
|
+
if (!text || text.trim() === '') {
|
|
75
|
+
return jsonResponse({ error: 'Empty request body' }, 400);
|
|
76
|
+
}
|
|
77
|
+
let body;
|
|
78
|
+
try {
|
|
79
|
+
body = JSON.parse(text);
|
|
80
|
+
}
|
|
81
|
+
catch (parseError) {
|
|
82
|
+
console.error('[HazoLog] Invalid JSON in request body:', parseError);
|
|
83
|
+
return jsonResponse({ error: 'Invalid JSON in request body' }, 400);
|
|
84
|
+
}
|
|
72
85
|
if (!body.logs || !Array.isArray(body.logs)) {
|
|
73
86
|
return jsonResponse({ error: 'Invalid request: logs array required' }, 400);
|
|
74
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-api-handler.js","sourceRoot":"","sources":["../../../src/ui/api/log-api-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAoBtD;;GAEG;AACH,SAAS,YAAY,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,CAAC;IAE1C,OAAO;QACL,GAAG,EAAE,KAAK,EAAE,OAAgB,EAAqB,EAAE;YACjD,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;YAEhC,iCAAiC;YACjC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBAClC,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE1C,IAAI,CAAC;gBACH,2BAA2B;gBAC3B,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,OAAO;wBACV,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;oBACtC,KAAK,UAAU;wBACb,OAAO,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC;oBAChF,KAAK,cAAc;wBACjB,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC;oBACpF,KAAK,YAAY;wBACf,OAAO,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC;oBAClF,KAAK,YAAY;wBACf,OAAO,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC;oBAClF;wBACE,OAAO,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBAC7C,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,IAAI,EAAE,KAAK,EAAE,OAAgB,EAAqB,EAAE;YAClD,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;YAEhC,gEAAgE;YAChE,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;gBAClC,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"log-api-handler.js","sourceRoot":"","sources":["../../../src/ui/api/log-api-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global configuration for client-side loggers
|
|
3
|
+
*
|
|
4
|
+
* Allows consuming applications to set default configuration once,
|
|
5
|
+
* which is then inherited by all client loggers (including those
|
|
6
|
+
* created by dependency packages).
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* // app/providers.tsx or lib/hazo-init.ts
|
|
11
|
+
* 'use client';
|
|
12
|
+
* import { configureClientLogger } from 'hazo_logs/ui';
|
|
13
|
+
*
|
|
14
|
+
* configureClientLogger({
|
|
15
|
+
* apiBasePath: '/api/hazo_logs/logs',
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { ClientLogLevel } from './client-logger.js';
|
|
20
|
+
export interface ClientLoggerGlobalConfig {
|
|
21
|
+
/** API endpoint to post logs to (required) */
|
|
22
|
+
apiBasePath: string;
|
|
23
|
+
/** Minimum log level to send */
|
|
24
|
+
minLevel?: ClientLogLevel;
|
|
25
|
+
/** Whether to also log to browser console */
|
|
26
|
+
consoleOutput?: boolean;
|
|
27
|
+
/** Batch logs and send periodically */
|
|
28
|
+
batchMode?: boolean;
|
|
29
|
+
/** Batch interval in ms */
|
|
30
|
+
batchInterval?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Configure global defaults for all client loggers.
|
|
34
|
+
* Call this once at app initialization (e.g., in layout.tsx or providers.tsx).
|
|
35
|
+
*
|
|
36
|
+
* @param config - Global configuration options (apiBasePath is required)
|
|
37
|
+
* @throws Error if apiBasePath is not provided
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* configureClientLogger({
|
|
42
|
+
* apiBasePath: '/api/hazo_logs/logs',
|
|
43
|
+
* minLevel: 'info',
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare function configureClientLogger(config: ClientLoggerGlobalConfig): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get the current global client logger configuration.
|
|
50
|
+
* Returns undefined if not configured.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getClientLoggerConfig(): ClientLoggerGlobalConfig | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Check if client logger has been globally configured.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isClientLoggerConfigured(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Reset global configuration (primarily for testing).
|
|
59
|
+
*/
|
|
60
|
+
export declare function resetClientLoggerConfig(): void;
|
|
61
|
+
/** @internal Mark that the configuration warning has been shown */
|
|
62
|
+
export declare function _markWarningShown(): void;
|
|
63
|
+
/** @internal Check if the configuration warning has been shown */
|
|
64
|
+
export declare function _wasWarningShown(): boolean;
|
|
65
|
+
//# sourceMappingURL=client-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.d.ts","sourceRoot":"","sources":["../../src/ui/client-config.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAK5E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,wBAAwB,GAAG,SAAS,CAE5E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
let globalConfig = undefined;
|
|
3
|
+
let configWarningShown = false;
|
|
4
|
+
/**
|
|
5
|
+
* Configure global defaults for all client loggers.
|
|
6
|
+
* Call this once at app initialization (e.g., in layout.tsx or providers.tsx).
|
|
7
|
+
*
|
|
8
|
+
* @param config - Global configuration options (apiBasePath is required)
|
|
9
|
+
* @throws Error if apiBasePath is not provided
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```tsx
|
|
13
|
+
* configureClientLogger({
|
|
14
|
+
* apiBasePath: '/api/hazo_logs/logs',
|
|
15
|
+
* minLevel: 'info',
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export function configureClientLogger(config) {
|
|
20
|
+
if (!config.apiBasePath) {
|
|
21
|
+
throw new Error('[HazoLog] configureClientLogger requires apiBasePath');
|
|
22
|
+
}
|
|
23
|
+
globalConfig = { ...config };
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the current global client logger configuration.
|
|
27
|
+
* Returns undefined if not configured.
|
|
28
|
+
*/
|
|
29
|
+
export function getClientLoggerConfig() {
|
|
30
|
+
return globalConfig ? { ...globalConfig } : undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Check if client logger has been globally configured.
|
|
34
|
+
*/
|
|
35
|
+
export function isClientLoggerConfigured() {
|
|
36
|
+
return globalConfig !== undefined;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Reset global configuration (primarily for testing).
|
|
40
|
+
*/
|
|
41
|
+
export function resetClientLoggerConfig() {
|
|
42
|
+
globalConfig = undefined;
|
|
43
|
+
configWarningShown = false;
|
|
44
|
+
}
|
|
45
|
+
/** @internal Mark that the configuration warning has been shown */
|
|
46
|
+
export function _markWarningShown() {
|
|
47
|
+
configWarningShown = true;
|
|
48
|
+
}
|
|
49
|
+
/** @internal Check if the configuration warning has been shown */
|
|
50
|
+
export function _wasWarningShown() {
|
|
51
|
+
return configWarningShown;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=client-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-config.js","sourceRoot":"","sources":["../../src/ui/client-config.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAoCb,IAAI,YAAY,GAAyC,SAAS,CAAC;AACnE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAgC;IACpE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,YAAY,KAAK,SAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,YAAY,GAAG,SAAS,CAAC;IACzB,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB;IAC/B,kBAAkB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB;IAC9B,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client-side logger for hazo_logs
|
|
3
|
-
*
|
|
4
|
-
* Sends logs from the browser to the server API to be stored
|
|
5
|
-
* alongside server-side logs. All entries are marked with source: 'client'.
|
|
6
|
-
*/
|
|
7
1
|
export type ClientLogLevel = 'error' | 'warn' | 'info' | 'debug';
|
|
8
2
|
export interface ClientLoggerConfig {
|
|
9
3
|
/** API endpoint to post logs to (default: '/api/logs') */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-logger.d.ts","sourceRoot":"","sources":["../../src/ui/client-logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-logger.d.ts","sourceRoot":"","sources":["../../src/ui/client-logger.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAsBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,kBAAuB;qBAuH7C,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACvC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBACtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEvD,kCAAkC;iBAvEP,OAAO,CAAC,IAAI,CAAC;IA0ExC,oDAAoD;yBAC/B,OAAO,CAAC,kBAAkB,CAAC;EAanD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
package/dist/ui/client-logger.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Client-side logger for hazo_logs
|
|
4
|
+
*
|
|
5
|
+
* Sends logs from the browser to the server API to be stored
|
|
6
|
+
* alongside server-side logs. All entries are marked with source: 'client'.
|
|
7
|
+
*/
|
|
8
|
+
import { getClientLoggerConfig, isClientLoggerConfigured, _markWarningShown, _wasWarningShown, } from './client-config.js';
|
|
2
9
|
const LOG_LEVEL_PRIORITY = {
|
|
3
10
|
error: 0,
|
|
4
11
|
warn: 1,
|
|
@@ -23,7 +30,18 @@ const LOG_LEVEL_PRIORITY = {
|
|
|
23
30
|
* ```
|
|
24
31
|
*/
|
|
25
32
|
export function createClientLogger(config = {}) {
|
|
26
|
-
const
|
|
33
|
+
const globalConfig = getClientLoggerConfig();
|
|
34
|
+
const { apiBasePath = globalConfig?.apiBasePath ?? '/api/logs', packageName = 'client', sessionId, reference, minLevel = globalConfig?.minLevel ?? 'debug', consoleOutput = globalConfig?.consoleOutput ?? true, batchMode = globalConfig?.batchMode ?? false, batchInterval = globalConfig?.batchInterval ?? 5000, } = config;
|
|
35
|
+
// Warn once in development if using default without global config
|
|
36
|
+
if (!config.apiBasePath &&
|
|
37
|
+
!isClientLoggerConfigured() &&
|
|
38
|
+
!_wasWarningShown() &&
|
|
39
|
+
typeof window !== 'undefined' &&
|
|
40
|
+
process.env.NODE_ENV === 'development') {
|
|
41
|
+
_markWarningShown();
|
|
42
|
+
console.warn('[HazoLog] Client logger using default /api/logs. ' +
|
|
43
|
+
'Call configureClientLogger({ apiBasePath: "..." }) at app init to set a custom endpoint.');
|
|
44
|
+
}
|
|
27
45
|
let logBatch = [];
|
|
28
46
|
let batchTimer = null;
|
|
29
47
|
const shouldLog = (level) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-logger.js","sourceRoot":"","sources":["../../src/ui/client-logger.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client-logger.js","sourceRoot":"","sources":["../../src/ui/client-logger.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;GAKG;AAEH,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAoC5B,MAAM,kBAAkB,GAAmC;IACzD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAA6B,EAAE;IAChE,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAE7C,MAAM,EACJ,WAAW,GAAG,YAAY,EAAE,WAAW,IAAI,WAAW,EACtD,WAAW,GAAG,QAAQ,EACtB,SAAS,EACT,SAAS,EACT,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,OAAO,EAC5C,aAAa,GAAG,YAAY,EAAE,aAAa,IAAI,IAAI,EACnD,SAAS,GAAG,YAAY,EAAE,SAAS,IAAI,KAAK,EAC5C,aAAa,GAAG,YAAY,EAAE,aAAa,IAAI,IAAI,GACpD,GAAG,MAAM,CAAC;IAEX,kEAAkE;IAClE,IACE,CAAC,MAAM,CAAC,WAAW;QACnB,CAAC,wBAAwB,EAAE;QAC3B,CAAC,gBAAgB,EAAE;QACnB,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EACtC,CAAC;QACD,iBAAiB,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CACV,mDAAmD;YACjD,0FAA0F,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,GAAqB,EAAE,CAAC;IACpC,IAAI,UAAU,GAAyC,IAAI,CAAC;IAE5D,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAW,EAAE;QACnD,OAAO,kBAAkB,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAyB,EAAiB,EAAE;QAClE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,WAAW,EAAE;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6DAA6D;YAC7D,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;QAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,QAAQ,GAAG,EAAE,CAAC;YACd,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,UAAU,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBACjC,MAAM,UAAU,EAAE,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,eAAe,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC,EAAE,aAAa,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,EACf,KAAqB,EACrB,OAAe,EACf,IAA8B,EACf,EAAE;QACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAE9B,iBAAiB;QACjB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YACtF,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,WAAW,KAAK,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,GAAmB;YAC5B,KAAK;YACL,OAAO;YACP,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,QAAQ;YAChB,SAAS;YACT,SAAS;YACT,IAAI;YACJ,SAAS,EAAE,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC7E,GAAG,EAAE,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,eAAe,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,8CAA8C;IAC9C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,SAAS,EAAE,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE;YAC3C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,sDAAsD;gBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChD,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QACvF,IAAI,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACrF,IAAI,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;QACrF,KAAK,EAAE,CAAC,OAAe,EAAE,IAA8B,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;QAEvF,kCAAkC;QAClC,KAAK,EAAE,UAAU;QAEjB,oDAAoD;QACpD,KAAK,EAAE,CAAC,WAAwC,EAAE,EAAE,CAClD,kBAAkB,CAAC;YACjB,WAAW;YACX,WAAW;YACX,SAAS;YACT,SAAS;YACT,QAAQ;YACR,aAAa;YACb,SAAS;YACT,aAAa;YACb,GAAG,WAAW;SACf,CAAC;KACL,CAAC;AACJ,CAAC"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -10,5 +10,7 @@ export { LogPagination } from './components/LogPagination.js';
|
|
|
10
10
|
export { LogLevelBadge } from './components/LogLevelBadge.js';
|
|
11
11
|
export { createClientLogger } from './client-logger.js';
|
|
12
12
|
export type { ClientLogger, ClientLoggerConfig, ClientLogLevel } from './client-logger.js';
|
|
13
|
+
export { configureClientLogger, getClientLoggerConfig, isClientLoggerConfigured, resetClientLoggerConfig, } from './client-config.js';
|
|
14
|
+
export type { ClientLoggerGlobalConfig } from './client-config.js';
|
|
13
15
|
export type { LogViewerPageProps, LogTableProps, LogTimelineProps, LogPaginationProps, LogLevelBadgeProps, LogApiConfig, LogApiHandler, AuthCheckFn, LogEntryDisplay, LogQueryResponse, LogDatesResponse, LogPackagesResponse, LogSource, } from './types.js';
|
|
14
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG3F,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG3F,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -11,4 +11,6 @@ export { LogPagination } from './components/LogPagination.js';
|
|
|
11
11
|
export { LogLevelBadge } from './components/LogLevelBadge.js';
|
|
12
12
|
// Client Logger
|
|
13
13
|
export { createClientLogger } from './client-logger.js';
|
|
14
|
+
// Client Configuration (global defaults)
|
|
15
|
+
export { configureClientLogger, getClientLoggerConfig, isClientLoggerConfigured, resetClientLoggerConfig, } from './client-config.js';
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gCAAgC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,yCAAyC;AACzC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
|