@hkdigital/lib-sveltekit 0.2.15 → 0.2.16
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/dist/classes/logging/Logger.d.ts +5 -7
- package/dist/classes/logging/Logger.js +37 -6
- package/dist/classes/logging/typedef.d.ts +28 -0
- package/dist/classes/logging/typedef.js +12 -0
- package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +1 -1
- package/dist/logging/factories/client.d.ts +2 -2
- package/dist/logging/factories/client.js +3 -3
- package/dist/logging/factories/server.d.ts +2 -2
- package/dist/logging/factories/server.js +3 -3
- package/dist/logging/index.js +1 -0
- package/dist/util/http/http-request.js +6 -6
- package/package.json +1 -1
@@ -64,15 +64,13 @@ export default class Logger extends EventEmitter {
|
|
64
64
|
*/
|
65
65
|
context(namespace: string, additionalContext: any): Logger;
|
66
66
|
/**
|
67
|
-
*
|
67
|
+
* Log an event of type LogEvent,
|
68
|
+
* e.g. an event that was created by another Logger instance and should be
|
69
|
+
* forwarded to this logger.
|
68
70
|
*
|
69
|
-
* @param {
|
70
|
-
* @param {string} message - Log message
|
71
|
-
* @param {*} [details] - Additional details to include in the log
|
72
|
-
* @returns {boolean} True if the log was emitted, false if filtered
|
73
|
-
* @private
|
71
|
+
* @param {import('./typedef.js').LogEvent} logEvent
|
74
72
|
*/
|
75
|
-
|
73
|
+
logEvent(logEvent: import("./typedef.js").LogEvent): boolean;
|
76
74
|
#private;
|
77
75
|
}
|
78
76
|
import { EventEmitter } from '../events';
|
@@ -84,7 +84,7 @@ export default class Logger extends EventEmitter {
|
|
84
84
|
* @returns {boolean} True if the log was emitted
|
85
85
|
*/
|
86
86
|
debug(message, details) {
|
87
|
-
return this
|
87
|
+
return this.#log(DEBUG, message, details);
|
88
88
|
}
|
89
89
|
|
90
90
|
/**
|
@@ -95,7 +95,7 @@ export default class Logger extends EventEmitter {
|
|
95
95
|
* @returns {boolean} True if the log was emitted
|
96
96
|
*/
|
97
97
|
info(message, details) {
|
98
|
-
return this
|
98
|
+
return this.#log(INFO, message, details);
|
99
99
|
}
|
100
100
|
|
101
101
|
/**
|
@@ -106,7 +106,7 @@ export default class Logger extends EventEmitter {
|
|
106
106
|
* @returns {boolean} True if the log was emitted
|
107
107
|
*/
|
108
108
|
warn(message, details) {
|
109
|
-
return this
|
109
|
+
return this.#log(WARN, message, details);
|
110
110
|
}
|
111
111
|
|
112
112
|
/**
|
@@ -117,7 +117,7 @@ export default class Logger extends EventEmitter {
|
|
117
117
|
* @returns {boolean} True if the log was emitted
|
118
118
|
*/
|
119
119
|
error(message, details) {
|
120
|
-
return this
|
120
|
+
return this.#log(ERROR, message, details);
|
121
121
|
}
|
122
122
|
|
123
123
|
/**
|
@@ -143,6 +143,24 @@ export default class Logger extends EventEmitter {
|
|
143
143
|
return new Logger(this.name, this.level, mergedContext);
|
144
144
|
}
|
145
145
|
|
146
|
+
/**
|
147
|
+
* Log an event of type LogEvent,
|
148
|
+
* e.g. an event that was created by another Logger instance and should be
|
149
|
+
* forwarded to this logger.
|
150
|
+
*
|
151
|
+
* @param {import('./typedef.js').LogEvent} logEvent
|
152
|
+
*/
|
153
|
+
logEvent( logEvent ) {
|
154
|
+
const level = logEvent.level;
|
155
|
+
|
156
|
+
// Check if this log level should be filtered
|
157
|
+
if (LEVELS[level] < LEVELS[this.level]) {
|
158
|
+
return false; // Below threshold, don't emit
|
159
|
+
}
|
160
|
+
|
161
|
+
this.#logEvent( logEvent );
|
162
|
+
}
|
163
|
+
|
146
164
|
/**
|
147
165
|
* Internal logging method
|
148
166
|
*
|
@@ -150,15 +168,15 @@ export default class Logger extends EventEmitter {
|
|
150
168
|
* @param {string} message - Log message
|
151
169
|
* @param {*} [details] - Additional details to include in the log
|
152
170
|
* @returns {boolean} True if the log was emitted, false if filtered
|
153
|
-
* @private
|
154
171
|
*/
|
155
|
-
|
172
|
+
#log(level, message, details) {
|
156
173
|
// Check if this log level should be filtered
|
157
174
|
if (LEVELS[level] < LEVELS[this.level]) {
|
158
175
|
return false; // Below threshold, don't emit
|
159
176
|
}
|
160
177
|
|
161
178
|
const timestamp = new Date();
|
179
|
+
|
162
180
|
const logEvent = {
|
163
181
|
timestamp,
|
164
182
|
service: this.name,
|
@@ -174,4 +192,17 @@ export default class Logger extends EventEmitter {
|
|
174
192
|
|
175
193
|
return true;
|
176
194
|
}
|
195
|
+
|
196
|
+
/**
|
197
|
+
* Internal event loggin method
|
198
|
+
*
|
199
|
+
* @param {import('./typedef.js').LogEvent} logEvent
|
200
|
+
*/
|
201
|
+
#logEvent(logEvent) {
|
202
|
+
// Emit as both specific level event and generic 'log' event
|
203
|
+
this.emit(logEvent.level, logEvent);
|
204
|
+
this.emit('log', logEvent);
|
205
|
+
|
206
|
+
return true;
|
207
|
+
}
|
177
208
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
declare const _default: {};
|
2
|
+
export default _default;
|
3
|
+
export type LogEvent = {
|
4
|
+
/**
|
5
|
+
* - When the log event was created
|
6
|
+
*/
|
7
|
+
timestamp: Date;
|
8
|
+
/**
|
9
|
+
* - Name of the service/component that logged this event
|
10
|
+
*/
|
11
|
+
service: string;
|
12
|
+
/**
|
13
|
+
* - Log level (DEBUG, INFO, WARN, ERROR)
|
14
|
+
*/
|
15
|
+
level: string;
|
16
|
+
/**
|
17
|
+
* - The log message
|
18
|
+
*/
|
19
|
+
message: string;
|
20
|
+
/**
|
21
|
+
* - Default context data from the logger (null if no context)
|
22
|
+
*/
|
23
|
+
context: any | null;
|
24
|
+
/**
|
25
|
+
* - Additional details provided with the log (optional)
|
26
|
+
*/
|
27
|
+
details?: any;
|
28
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
/**
|
3
|
+
* @typedef {Object} LogEvent
|
4
|
+
* @property {Date} timestamp - When the log event was created
|
5
|
+
* @property {string} service - Name of the service/component that logged this event
|
6
|
+
* @property {string} level - Log level (DEBUG, INFO, WARN, ERROR)
|
7
|
+
* @property {string} message - The log message
|
8
|
+
* @property {Object|null} context - Default context data from the logger (null if no context)
|
9
|
+
* @property {*} [details] - Additional details provided with the log (optional)
|
10
|
+
*/
|
11
|
+
|
12
|
+
export default {};
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/**
|
2
2
|
* Create a client-side logger with console adapter
|
3
3
|
*
|
4
|
-
* @param {string}
|
4
|
+
* @param {string} name
|
5
5
|
* @param {string} [level=INFO] - Initial log level
|
6
6
|
* @param {Object} [consoleOptions] - Additional console options
|
7
7
|
* @returns {Logger} Configured logger instance
|
8
8
|
*/
|
9
|
-
export function createClientLogger(
|
9
|
+
export function createClientLogger(name: string, level?: string, consoleOptions?: any): Logger;
|
10
10
|
import { Logger } from '../../classes/logging';
|
@@ -5,13 +5,13 @@ import { INFO } from '../constants.js';
|
|
5
5
|
/**
|
6
6
|
* Create a client-side logger with console adapter
|
7
7
|
*
|
8
|
-
* @param {string}
|
8
|
+
* @param {string} name
|
9
9
|
* @param {string} [level=INFO] - Initial log level
|
10
10
|
* @param {Object} [consoleOptions] - Additional console options
|
11
11
|
* @returns {Logger} Configured logger instance
|
12
12
|
*/
|
13
|
-
export function createClientLogger(
|
14
|
-
const logger = new Logger(
|
13
|
+
export function createClientLogger(name, level = INFO, consoleOptions = {}) {
|
14
|
+
const logger = new Logger(name, level);
|
15
15
|
const adapter = new ConsoleAdapter({ ...consoleOptions, level });
|
16
16
|
|
17
17
|
// Connect adapter to logger events
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/**
|
2
2
|
* Create a server-side logger with pino adapter
|
3
3
|
*
|
4
|
-
* @param {string}
|
4
|
+
* @param {string} name
|
5
5
|
* @param {string} [level=INFO] - Initial log level
|
6
6
|
* @param {Object} [pinoOptions] - Additional pino options
|
7
7
|
* @returns {Logger} Configured logger instance
|
8
8
|
*/
|
9
|
-
export function createServerLogger(
|
9
|
+
export function createServerLogger(name: string, level?: string, pinoOptions?: any): Logger;
|
10
10
|
import { Logger } from '../../classes/logging';
|
@@ -6,13 +6,13 @@ import { INFO } from '../constants.js';
|
|
6
6
|
/**
|
7
7
|
* Create a server-side logger with pino adapter
|
8
8
|
*
|
9
|
-
* @param {string}
|
9
|
+
* @param {string} name
|
10
10
|
* @param {string} [level=INFO] - Initial log level
|
11
11
|
* @param {Object} [pinoOptions] - Additional pino options
|
12
12
|
* @returns {Logger} Configured logger instance
|
13
13
|
*/
|
14
|
-
export function createServerLogger(
|
15
|
-
const logger = new Logger(
|
14
|
+
export function createServerLogger(name, level = INFO, pinoOptions = {}) {
|
15
|
+
const logger = new Logger(name, level);
|
16
16
|
const adapter = new PinoAdapter(pinoOptions);
|
17
17
|
|
18
18
|
// Connect adapter to logger events
|
package/dist/logging/index.js
CHANGED
@@ -356,12 +356,12 @@ export async function httpRequest(options) {
|
|
356
356
|
}
|
357
357
|
|
358
358
|
// Create stale info
|
359
|
-
const staleInfo = {
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
};
|
359
|
+
// const staleInfo = {
|
360
|
+
// isStale: false,
|
361
|
+
// fresh: null,
|
362
|
+
// timestamp: Date.now(),
|
363
|
+
// expires
|
364
|
+
// };
|
365
365
|
|
366
366
|
// Store response in cache
|
367
367
|
const cacheKeyParams = { url, ...headers };
|