@johnboxcodes/boxlogger 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * NodeLogger - Main Logger Class
3
+ *
4
+ * A lightweight, type-safe logger with pluggable storage backends.
5
+ *
6
+ * @module logger
7
+ * @packageDocumentation
8
+ */
9
+ import type { LoggerConfig, LogLevel, LogEntry, LogMetadata, Session, StoreProvider, LogFilter, SessionFilter, StoreStats } from './types.js';
10
+ /**
11
+ * NodeLogger - Backend logger with pluggable storage
12
+ *
13
+ * @remarks
14
+ * Provides a simple, type-safe logging API with support for:
15
+ * - Multiple log levels (fatal, error, warn, info, debug, trace)
16
+ * - Session tracking
17
+ * - Structured metadata (tags, user, request, error info)
18
+ * - Pluggable storage backends (SQLite, MongoDB, Memory)
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { Logger } from '@nodelogger/core';
23
+ * import { SQLiteStoreProvider } from '@nodelogger/core/sqlite';
24
+ *
25
+ * const store = new SQLiteStoreProvider({ filename: './logs.db' });
26
+ * await store.init();
27
+ *
28
+ * const logger = new Logger({
29
+ * store,
30
+ * service: 'my-api',
31
+ * environment: 'production'
32
+ * });
33
+ *
34
+ * logger.info('Server started', { tags: { port: '3000' } });
35
+ * logger.error('Request failed', { error: err });
36
+ * ```
37
+ */
38
+ export declare class Logger {
39
+ private store;
40
+ private config;
41
+ private currentSession;
42
+ private hostname;
43
+ private pid;
44
+ /**
45
+ * Create a new logger instance
46
+ * @param config - Logger configuration
47
+ */
48
+ constructor(config: LoggerConfig);
49
+ /**
50
+ * Log a fatal error (system is unusable)
51
+ * @param message - Log message
52
+ * @param metadata - Additional metadata
53
+ */
54
+ fatal(message: string, metadata?: LogMetadata): void;
55
+ /**
56
+ * Log an error (operation failed)
57
+ * @param message - Log message
58
+ * @param metadata - Additional metadata
59
+ */
60
+ error(message: string, metadata?: LogMetadata): void;
61
+ /**
62
+ * Log a warning (something unexpected but not an error)
63
+ * @param message - Log message
64
+ * @param metadata - Additional metadata
65
+ */
66
+ warn(message: string, metadata?: LogMetadata): void;
67
+ /**
68
+ * Log informational message
69
+ * @param message - Log message
70
+ * @param metadata - Additional metadata
71
+ */
72
+ info(message: string, metadata?: LogMetadata): void;
73
+ /**
74
+ * Log debug information
75
+ * @param message - Log message
76
+ * @param metadata - Additional metadata
77
+ */
78
+ debug(message: string, metadata?: LogMetadata): void;
79
+ /**
80
+ * Log trace/verbose information
81
+ * @param message - Log message
82
+ * @param metadata - Additional metadata
83
+ */
84
+ trace(message: string, metadata?: LogMetadata): void;
85
+ /**
86
+ * Log an exception/error object
87
+ * @param error - Error object
88
+ * @param message - Optional message (defaults to error.message)
89
+ * @param metadata - Additional metadata
90
+ */
91
+ exception(error: Error, message?: string, metadata?: LogMetadata): void;
92
+ /**
93
+ * Generic log method
94
+ * @param level - Log level
95
+ * @param message - Log message
96
+ * @param metadata - Additional metadata
97
+ */
98
+ log(level: LogLevel, message: string, metadata?: LogMetadata): void;
99
+ /**
100
+ * Start a new logging session
101
+ * @param attributes - Optional session attributes
102
+ * @returns Session ID
103
+ */
104
+ startSession(attributes?: Record<string, unknown>): Promise<string>;
105
+ /**
106
+ * End the current session
107
+ * @param status - Final session status
108
+ */
109
+ endSession(status?: 'ended' | 'crashed'): Promise<void>;
110
+ /**
111
+ * Get the current session
112
+ * @returns Current session or null
113
+ */
114
+ getCurrentSession(): Session | null;
115
+ /**
116
+ * Set user info on the current session
117
+ * @param user - User information
118
+ */
119
+ setSessionUser(user: Session['user']): Promise<void>;
120
+ /**
121
+ * Get log entries matching filter
122
+ * @param filter - Query filter
123
+ * @returns Matching log entries
124
+ */
125
+ getLogs(filter?: LogFilter): Promise<LogEntry[]>;
126
+ /**
127
+ * Get sessions matching filter
128
+ * @param filter - Query filter
129
+ * @returns Matching sessions
130
+ */
131
+ getSessions(filter?: SessionFilter): Promise<Session[]>;
132
+ /**
133
+ * Get storage statistics
134
+ * @returns Store stats
135
+ */
136
+ getStats(): Promise<StoreStats>;
137
+ /**
138
+ * Create a child logger with additional default metadata
139
+ * @param name - Child logger name
140
+ * @param defaultMetadata - Default metadata for all logs from this child
141
+ * @returns Child logger instance
142
+ */
143
+ child(name: string, defaultMetadata?: LogMetadata): Logger;
144
+ /**
145
+ * Set minimum log level
146
+ * @param level - New minimum level
147
+ */
148
+ setMinLevel(level: LogLevel): void;
149
+ /**
150
+ * Get current minimum log level
151
+ * @returns Current minimum level
152
+ */
153
+ getMinLevel(): LogLevel;
154
+ /**
155
+ * Check if a level would be logged
156
+ * @param level - Level to check
157
+ * @returns true if would be logged
158
+ */
159
+ isLevelEnabled(level: LogLevel): boolean;
160
+ /**
161
+ * Close the logger and its store
162
+ */
163
+ close(): Promise<void>;
164
+ /**
165
+ * Merge metadata with defaults
166
+ */
167
+ private mergeMetadata;
168
+ /**
169
+ * Extract error info from an Error object
170
+ */
171
+ private extractErrorInfo;
172
+ }
173
+ /**
174
+ * Create a logger with default configuration
175
+ * @param store - Store provider
176
+ * @param options - Additional options
177
+ * @returns Configured logger
178
+ */
179
+ export declare function createLogger(store: StoreProvider, options?: Partial<Omit<LoggerConfig, 'store'>>): Logger;
180
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
package/dist/logger.js ADDED
@@ -0,0 +1,389 @@
1
+ /**
2
+ * NodeLogger - Main Logger Class
3
+ *
4
+ * A lightweight, type-safe logger with pluggable storage backends.
5
+ *
6
+ * @module logger
7
+ * @packageDocumentation
8
+ */
9
+ import { hostname } from 'node:os';
10
+ import { randomUUID } from 'node:crypto';
11
+ /**
12
+ * Log level numeric values (lower = more severe)
13
+ */
14
+ const LOG_LEVEL_VALUES = {
15
+ fatal: 0,
16
+ error: 1,
17
+ warn: 2,
18
+ info: 3,
19
+ debug: 4,
20
+ trace: 5,
21
+ };
22
+ /**
23
+ * NodeLogger - Backend logger with pluggable storage
24
+ *
25
+ * @remarks
26
+ * Provides a simple, type-safe logging API with support for:
27
+ * - Multiple log levels (fatal, error, warn, info, debug, trace)
28
+ * - Session tracking
29
+ * - Structured metadata (tags, user, request, error info)
30
+ * - Pluggable storage backends (SQLite, MongoDB, Memory)
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { Logger } from '@nodelogger/core';
35
+ * import { SQLiteStoreProvider } from '@nodelogger/core/sqlite';
36
+ *
37
+ * const store = new SQLiteStoreProvider({ filename: './logs.db' });
38
+ * await store.init();
39
+ *
40
+ * const logger = new Logger({
41
+ * store,
42
+ * service: 'my-api',
43
+ * environment: 'production'
44
+ * });
45
+ *
46
+ * logger.info('Server started', { tags: { port: '3000' } });
47
+ * logger.error('Request failed', { error: err });
48
+ * ```
49
+ */
50
+ export class Logger {
51
+ store;
52
+ config;
53
+ currentSession = null;
54
+ hostname;
55
+ pid;
56
+ /**
57
+ * Create a new logger instance
58
+ * @param config - Logger configuration
59
+ */
60
+ constructor(config) {
61
+ this.store = config.store;
62
+ this.config = {
63
+ ...config,
64
+ name: config.name ?? 'default',
65
+ minLevel: config.minLevel ?? 'info',
66
+ service: config.service ?? undefined,
67
+ environment: config.environment ?? process.env.NODE_ENV ?? 'development',
68
+ enableSessions: config.enableSessions ?? false,
69
+ };
70
+ this.hostname = hostname();
71
+ this.pid = process.pid;
72
+ }
73
+ // =========================================================================
74
+ // Log Methods
75
+ // =========================================================================
76
+ /**
77
+ * Log a fatal error (system is unusable)
78
+ * @param message - Log message
79
+ * @param metadata - Additional metadata
80
+ */
81
+ fatal(message, metadata) {
82
+ this.log('fatal', message, metadata);
83
+ }
84
+ /**
85
+ * Log an error (operation failed)
86
+ * @param message - Log message
87
+ * @param metadata - Additional metadata
88
+ */
89
+ error(message, metadata) {
90
+ this.log('error', message, metadata);
91
+ }
92
+ /**
93
+ * Log a warning (something unexpected but not an error)
94
+ * @param message - Log message
95
+ * @param metadata - Additional metadata
96
+ */
97
+ warn(message, metadata) {
98
+ this.log('warn', message, metadata);
99
+ }
100
+ /**
101
+ * Log informational message
102
+ * @param message - Log message
103
+ * @param metadata - Additional metadata
104
+ */
105
+ info(message, metadata) {
106
+ this.log('info', message, metadata);
107
+ }
108
+ /**
109
+ * Log debug information
110
+ * @param message - Log message
111
+ * @param metadata - Additional metadata
112
+ */
113
+ debug(message, metadata) {
114
+ this.log('debug', message, metadata);
115
+ }
116
+ /**
117
+ * Log trace/verbose information
118
+ * @param message - Log message
119
+ * @param metadata - Additional metadata
120
+ */
121
+ trace(message, metadata) {
122
+ this.log('trace', message, metadata);
123
+ }
124
+ /**
125
+ * Log an exception/error object
126
+ * @param error - Error object
127
+ * @param message - Optional message (defaults to error.message)
128
+ * @param metadata - Additional metadata
129
+ */
130
+ exception(error, message, metadata) {
131
+ const errorInfo = this.extractErrorInfo(error);
132
+ const finalMessage = message ?? error.message;
133
+ this.log('error', finalMessage, {
134
+ ...metadata,
135
+ error: errorInfo,
136
+ });
137
+ }
138
+ /**
139
+ * Generic log method
140
+ * @param level - Log level
141
+ * @param message - Log message
142
+ * @param metadata - Additional metadata
143
+ */
144
+ log(level, message, metadata) {
145
+ // Check minimum level
146
+ if (LOG_LEVEL_VALUES[level] > LOG_LEVEL_VALUES[this.config.minLevel]) {
147
+ return;
148
+ }
149
+ const entry = {
150
+ id: randomUUID(),
151
+ timestamp: new Date().toISOString(),
152
+ level,
153
+ message: this.config.formatMessage
154
+ ? this.config.formatMessage(message)
155
+ : message,
156
+ logger: this.config.name,
157
+ sessionId: this.currentSession?.id,
158
+ service: this.config.service,
159
+ environment: this.config.environment,
160
+ release: this.config.release,
161
+ hostname: this.hostname,
162
+ pid: this.pid,
163
+ metadata: this.mergeMetadata(metadata),
164
+ };
165
+ // Update session error count
166
+ if (this.currentSession && (level === 'error' || level === 'fatal')) {
167
+ this.currentSession.errorCount++;
168
+ }
169
+ // Save asynchronously (fire and forget for performance)
170
+ this.store.saveLog(entry).catch((err) => {
171
+ console.error('[NodeLogger] Failed to save log:', err);
172
+ });
173
+ }
174
+ // =========================================================================
175
+ // Session Management
176
+ // =========================================================================
177
+ /**
178
+ * Start a new logging session
179
+ * @param attributes - Optional session attributes
180
+ * @returns Session ID
181
+ */
182
+ async startSession(attributes) {
183
+ if (!this.config.enableSessions) {
184
+ throw new Error('Sessions are not enabled. Set enableSessions: true in config.');
185
+ }
186
+ // End current session if active
187
+ if (this.currentSession) {
188
+ await this.endSession();
189
+ }
190
+ const session = {
191
+ id: randomUUID(),
192
+ startedAt: new Date().toISOString(),
193
+ status: 'active',
194
+ errorCount: 0,
195
+ attributes,
196
+ };
197
+ await this.store.createSession(session);
198
+ this.currentSession = session;
199
+ return session.id;
200
+ }
201
+ /**
202
+ * End the current session
203
+ * @param status - Final session status
204
+ */
205
+ async endSession(status = 'ended') {
206
+ if (!this.currentSession)
207
+ return;
208
+ const endedAt = new Date().toISOString();
209
+ const duration = new Date(endedAt).getTime() -
210
+ new Date(this.currentSession.startedAt).getTime();
211
+ // Determine final status
212
+ const finalStatus = status === 'crashed' || this.currentSession.errorCount > 0
213
+ ? 'crashed'
214
+ : 'ended';
215
+ await this.store.updateSession(this.currentSession.id, {
216
+ endedAt,
217
+ duration,
218
+ status: finalStatus,
219
+ errorCount: this.currentSession.errorCount,
220
+ });
221
+ this.currentSession = null;
222
+ }
223
+ /**
224
+ * Get the current session
225
+ * @returns Current session or null
226
+ */
227
+ getCurrentSession() {
228
+ return this.currentSession;
229
+ }
230
+ /**
231
+ * Set user info on the current session
232
+ * @param user - User information
233
+ */
234
+ async setSessionUser(user) {
235
+ if (!this.currentSession) {
236
+ throw new Error('No active session');
237
+ }
238
+ this.currentSession.user = user;
239
+ await this.store.updateSession(this.currentSession.id, { user });
240
+ }
241
+ // =========================================================================
242
+ // Query Methods
243
+ // =========================================================================
244
+ /**
245
+ * Get log entries matching filter
246
+ * @param filter - Query filter
247
+ * @returns Matching log entries
248
+ */
249
+ async getLogs(filter) {
250
+ return this.store.getLogs(filter);
251
+ }
252
+ /**
253
+ * Get sessions matching filter
254
+ * @param filter - Query filter
255
+ * @returns Matching sessions
256
+ */
257
+ async getSessions(filter) {
258
+ return this.store.getSessions(filter);
259
+ }
260
+ /**
261
+ * Get storage statistics
262
+ * @returns Store stats
263
+ */
264
+ async getStats() {
265
+ return this.store.getStats();
266
+ }
267
+ // =========================================================================
268
+ // Child Logger
269
+ // =========================================================================
270
+ /**
271
+ * Create a child logger with additional default metadata
272
+ * @param name - Child logger name
273
+ * @param defaultMetadata - Default metadata for all logs from this child
274
+ * @returns Child logger instance
275
+ */
276
+ child(name, defaultMetadata) {
277
+ const childConfig = {
278
+ ...this.config,
279
+ name: `${this.config.name}:${name}`,
280
+ defaultMetadata: {
281
+ ...this.config.defaultMetadata,
282
+ ...defaultMetadata,
283
+ tags: {
284
+ ...this.config.defaultMetadata?.tags,
285
+ ...defaultMetadata?.tags,
286
+ },
287
+ extra: {
288
+ ...this.config.defaultMetadata?.extra,
289
+ ...defaultMetadata?.extra,
290
+ },
291
+ },
292
+ };
293
+ const childLogger = new Logger(childConfig);
294
+ // Share the session with parent
295
+ if (this.currentSession) {
296
+ childLogger.currentSession = this.currentSession;
297
+ }
298
+ return childLogger;
299
+ }
300
+ // =========================================================================
301
+ // Utility Methods
302
+ // =========================================================================
303
+ /**
304
+ * Set minimum log level
305
+ * @param level - New minimum level
306
+ */
307
+ setMinLevel(level) {
308
+ this.config.minLevel = level;
309
+ }
310
+ /**
311
+ * Get current minimum log level
312
+ * @returns Current minimum level
313
+ */
314
+ getMinLevel() {
315
+ return this.config.minLevel;
316
+ }
317
+ /**
318
+ * Check if a level would be logged
319
+ * @param level - Level to check
320
+ * @returns true if would be logged
321
+ */
322
+ isLevelEnabled(level) {
323
+ return LOG_LEVEL_VALUES[level] <= LOG_LEVEL_VALUES[this.config.minLevel];
324
+ }
325
+ /**
326
+ * Close the logger and its store
327
+ */
328
+ async close() {
329
+ if (this.currentSession) {
330
+ await this.endSession();
331
+ }
332
+ await this.store.close();
333
+ }
334
+ // =========================================================================
335
+ // Private Methods
336
+ // =========================================================================
337
+ /**
338
+ * Merge metadata with defaults
339
+ */
340
+ mergeMetadata(metadata) {
341
+ if (!this.config.defaultMetadata && !metadata) {
342
+ return undefined;
343
+ }
344
+ return {
345
+ ...this.config.defaultMetadata,
346
+ ...metadata,
347
+ tags: {
348
+ ...this.config.defaultMetadata?.tags,
349
+ ...metadata?.tags,
350
+ },
351
+ extra: {
352
+ ...this.config.defaultMetadata?.extra,
353
+ ...metadata?.extra,
354
+ },
355
+ };
356
+ }
357
+ /**
358
+ * Extract error info from an Error object
359
+ */
360
+ extractErrorInfo(error) {
361
+ const info = {
362
+ type: error.name || error.constructor.name,
363
+ message: error.message,
364
+ stack: error.stack,
365
+ };
366
+ // Extract code if present
367
+ if ('code' in error && error.code !== undefined) {
368
+ info.code = error.code;
369
+ }
370
+ // Extract cause chain
371
+ if (error.cause instanceof Error) {
372
+ info.cause = this.extractErrorInfo(error.cause);
373
+ }
374
+ return info;
375
+ }
376
+ }
377
+ /**
378
+ * Create a logger with default configuration
379
+ * @param store - Store provider
380
+ * @param options - Additional options
381
+ * @returns Configured logger
382
+ */
383
+ export function createLogger(store, options) {
384
+ return new Logger({
385
+ store,
386
+ ...options,
387
+ });
388
+ }
389
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}