logan-logger 1.1.19 → 1.1.21
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 +4 -1
- package/dist/browser.cjs +1 -0
- package/dist/browser.d.cts +25 -0
- package/dist/browser.d.mts +25 -0
- package/dist/{browser.esm.js → browser.mjs} +2 -2
- package/dist/bun.cjs +1 -0
- package/dist/bun.d.cts +7 -0
- package/dist/bun.d.mts +7 -0
- package/dist/{bun.esm.js → bun.mjs} +3 -3
- package/dist/{__vite-browser-external-C71mkwFX.mjs → chunks/__vite-browser-external-BgoQtmXf.mjs} +1 -1
- package/dist/chunks/__vite-browser-external-Bjj3r6ML.cjs +1 -0
- package/dist/chunks/browser-Bq67gUmd.cjs +1 -0
- package/dist/{browser-DV_BQqDK.mjs → chunks/browser-D5QY2oJb.mjs} +29 -16
- package/dist/{factory-CG8zWIqv.mjs → chunks/factory-2po65gyH.mjs} +2 -2
- package/dist/chunks/factory-CluPoiZb.cjs +1 -0
- package/dist/{formatting-DP_57uSR.mjs → chunks/formatting-CLctAPm9.mjs} +1 -1
- package/dist/chunks/formatting-Cb_xXgov.cjs +1 -0
- package/dist/core/factory.d.cts +46 -0
- package/dist/core/factory.d.mts +46 -0
- package/dist/core/logger.d.cts +19 -0
- package/dist/core/logger.d.mts +19 -0
- package/dist/core/types.d.cts +170 -0
- package/dist/core/types.d.mts +170 -0
- package/dist/deno.cjs +1 -0
- package/dist/deno.d.cts +7 -0
- package/dist/deno.d.mts +7 -0
- package/dist/{deno.esm.js → deno.mjs} +3 -3
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +19 -0
- package/dist/index.d.mts +19 -0
- package/dist/{index.esm.js → index.mjs} +3 -3
- package/dist/node.cjs +1 -0
- package/dist/node.d.cts +3 -0
- package/dist/node.d.mts +3 -0
- package/dist/{node.esm.js → node.mjs} +1 -1
- package/dist/runtime/browser.d.cts +31 -0
- package/dist/runtime/browser.d.mts +31 -0
- package/dist/runtime/node.d.cts +16 -0
- package/dist/runtime/node.d.mts +16 -0
- package/dist/utils/config.d.cts +5 -0
- package/dist/utils/config.d.mts +5 -0
- package/dist/utils/formatting.d.cts +31 -0
- package/dist/utils/formatting.d.mts +31 -0
- package/dist/utils/runtime.d.cts +31 -0
- package/dist/utils/runtime.d.mts +31 -0
- package/dist/utils/serialization.d.cts +22 -0
- package/dist/utils/serialization.d.mts +22 -0
- package/dist/utils/serialization.d.ts +0 -11
- package/package.json +70 -19
- package/dist/__vite-browser-external-DcEHEw3a.js +0 -1
- package/dist/browser-D9bA4EUQ.js +0 -1
- package/dist/browser.js +0 -1
- package/dist/bun.js +0 -1
- package/dist/deno.js +0 -1
- package/dist/factory-Uhw2LFdb.js +0 -1
- package/dist/formatting-BHJ25M3U.js +0 -1
- package/dist/index.js +0 -1
- package/dist/node.js +0 -1
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log levels in ascending order of severity.
|
|
3
|
+
* Used to filter which messages should be logged.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum LogLevel {
|
|
6
|
+
/** Debug messages - most verbose */
|
|
7
|
+
DEBUG = 0,
|
|
8
|
+
/** Informational messages */
|
|
9
|
+
INFO = 1,
|
|
10
|
+
/** Warning messages */
|
|
11
|
+
WARN = 2,
|
|
12
|
+
/** Error messages */
|
|
13
|
+
ERROR = 3,
|
|
14
|
+
/** No messages - silent mode */
|
|
15
|
+
SILENT = 4
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* String representation of log levels.
|
|
19
|
+
*/
|
|
20
|
+
export type LogLevelString = 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
21
|
+
/**
|
|
22
|
+
* Supported JavaScript runtime environments.
|
|
23
|
+
*/
|
|
24
|
+
export type RuntimeName = 'node' | 'deno' | 'bun' | 'browser' | 'webworker' | 'unknown';
|
|
25
|
+
/**
|
|
26
|
+
* Information about the detected JavaScript runtime environment.
|
|
27
|
+
*/
|
|
28
|
+
export interface RuntimeInfo {
|
|
29
|
+
/** The name of the runtime */
|
|
30
|
+
name: RuntimeName;
|
|
31
|
+
/** Version string of the runtime (if available) */
|
|
32
|
+
version?: string;
|
|
33
|
+
/** Capabilities supported by this runtime */
|
|
34
|
+
capabilities: RuntimeCapabilities;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Capabilities that a runtime may or may not support.
|
|
38
|
+
*/
|
|
39
|
+
export interface RuntimeCapabilities {
|
|
40
|
+
/** Whether the runtime supports file system operations */
|
|
41
|
+
fileSystem: boolean;
|
|
42
|
+
/** Whether the runtime supports colored console output */
|
|
43
|
+
colorSupport: boolean;
|
|
44
|
+
/** Whether the runtime provides process information */
|
|
45
|
+
processInfo: boolean;
|
|
46
|
+
/** Whether the runtime supports streams */
|
|
47
|
+
streams: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Configuration options for creating a logger instance.
|
|
51
|
+
*/
|
|
52
|
+
export interface LoggerConfig {
|
|
53
|
+
/** Minimum log level to output */
|
|
54
|
+
level: LogLevel;
|
|
55
|
+
/** Output format for log messages */
|
|
56
|
+
format: 'json' | 'text' | 'custom';
|
|
57
|
+
/** Whether to include timestamps in log output */
|
|
58
|
+
timestamp: boolean;
|
|
59
|
+
/** Whether to colorize log output (if supported) */
|
|
60
|
+
colorize: boolean;
|
|
61
|
+
/** Default metadata to include with all log messages */
|
|
62
|
+
metadata: Record<string, any>;
|
|
63
|
+
/** Transport configurations for log output */
|
|
64
|
+
transports?: TransportConfig[];
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Configuration for a specific log transport (output destination).
|
|
68
|
+
*/
|
|
69
|
+
export interface TransportConfig {
|
|
70
|
+
/** Type of transport */
|
|
71
|
+
type: 'console' | 'file' | 'http' | 'custom';
|
|
72
|
+
/** Minimum log level for this transport */
|
|
73
|
+
level?: LogLevel;
|
|
74
|
+
/** Transport-specific options */
|
|
75
|
+
options: Record<string, any>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A log message can be a string or a function that returns a string.
|
|
79
|
+
* Functions enable lazy evaluation for expensive log message generation.
|
|
80
|
+
*/
|
|
81
|
+
export type LogMessage = string | (() => string);
|
|
82
|
+
/**
|
|
83
|
+
* Internal representation of a log entry.
|
|
84
|
+
*/
|
|
85
|
+
export interface LogEntry {
|
|
86
|
+
/** When the log entry was created */
|
|
87
|
+
timestamp: Date;
|
|
88
|
+
/** Log level of this entry */
|
|
89
|
+
level: LogLevel;
|
|
90
|
+
/** The log message */
|
|
91
|
+
message: string;
|
|
92
|
+
/** Additional structured data */
|
|
93
|
+
metadata?: Record<string, any>;
|
|
94
|
+
/** Runtime that generated this log entry */
|
|
95
|
+
runtime: RuntimeName;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Main logger interface providing methods for logging at different levels.
|
|
99
|
+
* This interface is implemented by all logger implementations across different runtimes.
|
|
100
|
+
*/
|
|
101
|
+
export interface ILogger {
|
|
102
|
+
/**
|
|
103
|
+
* Log a debug message. Only shown when log level is DEBUG.
|
|
104
|
+
* @param message - The message to log (string or lazy function)
|
|
105
|
+
* @param metadata - Optional structured data to include
|
|
106
|
+
*/
|
|
107
|
+
debug(message: LogMessage, metadata?: any): void;
|
|
108
|
+
/**
|
|
109
|
+
* Log an informational message.
|
|
110
|
+
* @param message - The message to log (string or lazy function)
|
|
111
|
+
* @param metadata - Optional structured data to include
|
|
112
|
+
*/
|
|
113
|
+
info(message: LogMessage, metadata?: any): void;
|
|
114
|
+
/**
|
|
115
|
+
* Log a warning message.
|
|
116
|
+
* @param message - The message to log (string or lazy function)
|
|
117
|
+
* @param metadata - Optional structured data to include
|
|
118
|
+
*/
|
|
119
|
+
warn(message: LogMessage, metadata?: any): void;
|
|
120
|
+
/**
|
|
121
|
+
* Log an error message.
|
|
122
|
+
* @param message - The message to log (string or lazy function)
|
|
123
|
+
* @param metadata - Optional structured data to include
|
|
124
|
+
*/
|
|
125
|
+
error(message: LogMessage, metadata?: any): void;
|
|
126
|
+
/**
|
|
127
|
+
* Log a message at a specific level.
|
|
128
|
+
* @param level - The log level
|
|
129
|
+
* @param message - The message to log (string or lazy function)
|
|
130
|
+
* @param metadata - Optional structured data to include
|
|
131
|
+
*/
|
|
132
|
+
log(level: LogLevel, message: LogMessage, metadata?: any): void;
|
|
133
|
+
/**
|
|
134
|
+
* Set the minimum log level for this logger.
|
|
135
|
+
* @param level - The minimum log level
|
|
136
|
+
*/
|
|
137
|
+
setLevel(level: LogLevel): void;
|
|
138
|
+
/**
|
|
139
|
+
* Get the current minimum log level.
|
|
140
|
+
* @returns The current log level
|
|
141
|
+
*/
|
|
142
|
+
getLevel(): LogLevel;
|
|
143
|
+
/**
|
|
144
|
+
* Create a child logger with additional metadata.
|
|
145
|
+
* @param metadata - Additional metadata to include in all child log messages
|
|
146
|
+
* @returns A new logger instance with the additional metadata
|
|
147
|
+
*/
|
|
148
|
+
child(metadata: Record<string, any>): ILogger;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Interface for logger adapters that handle the actual log output.
|
|
152
|
+
* This abstraction allows different implementations for different runtimes.
|
|
153
|
+
*/
|
|
154
|
+
export interface ILoggerAdapter {
|
|
155
|
+
/**
|
|
156
|
+
* Write a log entry to the output destination.
|
|
157
|
+
* @param entry - The log entry to write
|
|
158
|
+
*/
|
|
159
|
+
log(entry: LogEntry): void;
|
|
160
|
+
/**
|
|
161
|
+
* Set the minimum log level for this adapter.
|
|
162
|
+
* @param level - The minimum log level
|
|
163
|
+
*/
|
|
164
|
+
setLevel(level: LogLevel): void;
|
|
165
|
+
/**
|
|
166
|
+
* Get the current minimum log level.
|
|
167
|
+
* @returns The current log level
|
|
168
|
+
*/
|
|
169
|
+
getLevel(): LogLevel;
|
|
170
|
+
}
|
package/dist/deno.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunks/factory-CluPoiZb.cjs"),t=require("./chunks/browser-Bq67gUmd.cjs"),n=require("./chunks/formatting-Cb_xXgov.cjs");exports.BrowserLogger=t.t,exports.ConsoleGroupLogger=t.n,exports.PerformanceLogger=t.r,exports.createLogger=e.n,exports.createLoggerForEnvironment=e.r,exports.detectRuntime=t.l,exports.filterSensitiveData=t.i,exports.formatLevel=n.t,exports.formatLogEntry=n.n,exports.getDefaultConfig=e.o,exports.isBrowser=t.u,exports.isBun=t.d,exports.isDeno=t.f,exports.isNode=t.p,exports.loadConfigFromEnvironment=e.s,exports.loadConfigFromFile=e.c,exports.mergeConfigs=e.l,exports.safeStringify=t.a,exports.serializeError=t.o;
|
package/dist/deno.d.cts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createLogger, createLoggerForEnvironment } from './core/factory.cjs';
|
|
2
|
+
export type { ILogger, LoggerConfig, LogLevel } from './core/types.cjs';
|
|
3
|
+
export { BrowserLogger, ConsoleGroupLogger, PerformanceLogger } from './runtime/browser.cjs';
|
|
4
|
+
export * from './utils/config.cjs';
|
|
5
|
+
export * from './utils/formatting.cjs';
|
|
6
|
+
export * from './utils/runtime.cjs';
|
|
7
|
+
export * from './utils/serialization.cjs';
|
package/dist/deno.d.mts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createLogger, createLoggerForEnvironment } from './core/factory.mjs';
|
|
2
|
+
export type { ILogger, LoggerConfig, LogLevel } from './core/types.mjs';
|
|
3
|
+
export { BrowserLogger, ConsoleGroupLogger, PerformanceLogger } from './runtime/browser.mjs';
|
|
4
|
+
export * from './utils/config.mjs';
|
|
5
|
+
export * from './utils/formatting.mjs';
|
|
6
|
+
export * from './utils/runtime.mjs';
|
|
7
|
+
export * from './utils/serialization.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as e, l as t, n, o as r, r as i, s as a } from "./factory-
|
|
2
|
-
import { a as o, d as s, f as c, i as l, l as u, n as d, o as f, p, r as m, t as h, u as g } from "./browser-
|
|
3
|
-
import { n as _, t as v } from "./formatting-
|
|
1
|
+
import { c as e, l as t, n, o as r, r as i, s as a } from "./chunks/factory-2po65gyH.mjs";
|
|
2
|
+
import { a as o, d as s, f as c, i as l, l as u, n as d, o as f, p, r as m, t as h, u as g } from "./chunks/browser-D5QY2oJb.mjs";
|
|
3
|
+
import { n as _, t as v } from "./chunks/formatting-CLctAPm9.mjs";
|
|
4
4
|
export { h as BrowserLogger, d as ConsoleGroupLogger, m as PerformanceLogger, n as createLogger, i as createLoggerForEnvironment, u as detectRuntime, l as filterSensitiveData, v as formatLevel, _ as formatLogEntry, r as getDefaultConfig, g as isBrowser, s as isBun, c as isDeno, p as isNode, a as loadConfigFromEnvironment, e as loadConfigFromFile, t as mergeConfigs, o as safeStringify, f as serializeError };
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunks/factory-CluPoiZb.cjs"),t=require("./chunks/browser-Bq67gUmd.cjs"),n=require("./chunks/formatting-Cb_xXgov.cjs");var r=e.r(),i={debug:(e,t)=>r.debug(e,t),info:(e,t)=>r.info(e,t),warn:(e,t)=>r.warn(e,t),error:(e,t)=>r.error(e,t)};exports.BaseLogger=t.s,exports.BrowserLogger=t.t,exports.ConsoleGroupLogger=t.n,exports.LogLevel=t.c,exports.LoggerFactory=e.t,exports.PerformanceLogger=t.r,exports.createLogger=e.n,exports.createLoggerForEnvironment=e.r,exports.detectRuntime=t.l,exports.filterSensitiveData=t.i,exports.formatLevel=n.t,exports.formatLogEntry=n.n,exports.getDefaultConfig=e.o,exports.isBrowser=t.u,exports.isBun=t.d,exports.isDeno=t.f,exports.isNode=t.p,exports.loadConfigFromEnvironment=e.s,exports.loadConfigFromFile=e.c,exports.log=i,exports.logLevelToString=e.i,exports.logger=r,exports.mergeConfigs=e.l,exports.safeStringify=t.a,exports.serializeError=t.o,exports.stringToLogLevel=e.a;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createLogger, createLoggerForEnvironment } from './core/factory.cjs';
|
|
2
|
+
import { ILogger, LogLevel } from './core/types.cjs';
|
|
3
|
+
export * from './core/factory.cjs';
|
|
4
|
+
export * from './core/logger.cjs';
|
|
5
|
+
export * from './core/types.cjs';
|
|
6
|
+
export { BrowserLogger, ConsoleGroupLogger, PerformanceLogger } from './runtime/browser.cjs';
|
|
7
|
+
export * from './utils/config.cjs';
|
|
8
|
+
export * from './utils/formatting.cjs';
|
|
9
|
+
export * from './utils/runtime.cjs';
|
|
10
|
+
export * from './utils/serialization.cjs';
|
|
11
|
+
export declare const logger: ILogger;
|
|
12
|
+
export declare const log: {
|
|
13
|
+
debug: (message: string, meta?: any) => void;
|
|
14
|
+
info: (message: string, meta?: any) => void;
|
|
15
|
+
warn: (message: string, meta?: any) => void;
|
|
16
|
+
error: (message: string, meta?: any) => void;
|
|
17
|
+
};
|
|
18
|
+
export { createLogger, createLoggerForEnvironment, LogLevel };
|
|
19
|
+
export type { ILogger, ILoggerAdapter, LogEntry, LoggerConfig, LogLevelString, LogMessage, RuntimeCapabilities, RuntimeInfo, RuntimeName, TransportConfig, } from './core/types.cjs';
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createLogger, createLoggerForEnvironment } from './core/factory.mjs';
|
|
2
|
+
import { ILogger, LogLevel } from './core/types.mjs';
|
|
3
|
+
export * from './core/factory.mjs';
|
|
4
|
+
export * from './core/logger.mjs';
|
|
5
|
+
export * from './core/types.mjs';
|
|
6
|
+
export { BrowserLogger, ConsoleGroupLogger, PerformanceLogger } from './runtime/browser.mjs';
|
|
7
|
+
export * from './utils/config.mjs';
|
|
8
|
+
export * from './utils/formatting.mjs';
|
|
9
|
+
export * from './utils/runtime.mjs';
|
|
10
|
+
export * from './utils/serialization.mjs';
|
|
11
|
+
export declare const logger: ILogger;
|
|
12
|
+
export declare const log: {
|
|
13
|
+
debug: (message: string, meta?: any) => void;
|
|
14
|
+
info: (message: string, meta?: any) => void;
|
|
15
|
+
warn: (message: string, meta?: any) => void;
|
|
16
|
+
error: (message: string, meta?: any) => void;
|
|
17
|
+
};
|
|
18
|
+
export { createLogger, createLoggerForEnvironment, LogLevel };
|
|
19
|
+
export type { ILogger, ILoggerAdapter, LogEntry, LoggerConfig, LogLevelString, LogMessage, RuntimeCapabilities, RuntimeInfo, RuntimeName, TransportConfig, } from './core/types.mjs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./factory-
|
|
2
|
-
import { a as l, c as u, d, f, i as p, l as m, n as h, o as g, p as _, r as v, s as y, t as b, u as x } from "./browser-
|
|
3
|
-
import { n as S, t as C } from "./formatting-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./chunks/factory-2po65gyH.mjs";
|
|
2
|
+
import { a as l, c as u, d, f, i as p, l as m, n as h, o as g, p as _, r as v, s as y, t as b, u as x } from "./chunks/browser-D5QY2oJb.mjs";
|
|
3
|
+
import { n as S, t as C } from "./chunks/formatting-CLctAPm9.mjs";
|
|
4
4
|
//#region src/index.ts
|
|
5
5
|
var w = o(), T = {
|
|
6
6
|
debug: (e, t) => w.debug(e, t),
|
package/dist/node.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./chunks/factory-CluPoiZb.cjs");exports.NodeLogger=e.u,exports.createLogger=e.n,exports.createLoggerForEnvironment=e.r,exports.createMorganStream=e.d;
|
package/dist/node.d.cts
ADDED
package/dist/node.d.mts
ADDED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { d as e, n as t, r as n, u as r } from "./factory-
|
|
1
|
+
import { d as e, n as t, r as n, u as r } from "./chunks/factory-2po65gyH.mjs";
|
|
2
2
|
export { r as NodeLogger, t as createLogger, n as createLoggerForEnvironment, e as createMorganStream };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseLogger } from '../core/logger.cjs';
|
|
2
|
+
import { LogEntry, LoggerConfig, LogLevel } from '../core/types.cjs';
|
|
3
|
+
export declare class BrowserLogger extends BaseLogger {
|
|
4
|
+
constructor(config?: Partial<LoggerConfig>);
|
|
5
|
+
protected writeLog(entry: LogEntry): void;
|
|
6
|
+
protected createChild(): BaseLogger;
|
|
7
|
+
private formatMessage;
|
|
8
|
+
private getConsoleStyle;
|
|
9
|
+
private shouldLogInProduction;
|
|
10
|
+
protected shouldLog(level: LogLevel): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class ConsoleGroupLogger extends BrowserLogger {
|
|
13
|
+
private groupStack;
|
|
14
|
+
group(label: string): void;
|
|
15
|
+
groupCollapsed(label: string): void;
|
|
16
|
+
groupEnd(): void;
|
|
17
|
+
getCurrentGroupStack(): string[];
|
|
18
|
+
getCurrentGroupPath(): string;
|
|
19
|
+
time(label: string): void;
|
|
20
|
+
timeEnd(label: string): void;
|
|
21
|
+
trace(message: string, metadata?: any): void;
|
|
22
|
+
count(label?: string): void;
|
|
23
|
+
countReset(label?: string): void;
|
|
24
|
+
table(data: any): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class PerformanceLogger extends BrowserLogger {
|
|
27
|
+
mark(name: string): void;
|
|
28
|
+
measure(name: string, startMark?: string, endMark?: string): void;
|
|
29
|
+
clearMarks(name?: string): void;
|
|
30
|
+
clearMeasures(name?: string): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseLogger } from '../core/logger.mjs';
|
|
2
|
+
import { LogEntry, LoggerConfig, LogLevel } from '../core/types.mjs';
|
|
3
|
+
export declare class BrowserLogger extends BaseLogger {
|
|
4
|
+
constructor(config?: Partial<LoggerConfig>);
|
|
5
|
+
protected writeLog(entry: LogEntry): void;
|
|
6
|
+
protected createChild(): BaseLogger;
|
|
7
|
+
private formatMessage;
|
|
8
|
+
private getConsoleStyle;
|
|
9
|
+
private shouldLogInProduction;
|
|
10
|
+
protected shouldLog(level: LogLevel): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class ConsoleGroupLogger extends BrowserLogger {
|
|
13
|
+
private groupStack;
|
|
14
|
+
group(label: string): void;
|
|
15
|
+
groupCollapsed(label: string): void;
|
|
16
|
+
groupEnd(): void;
|
|
17
|
+
getCurrentGroupStack(): string[];
|
|
18
|
+
getCurrentGroupPath(): string;
|
|
19
|
+
time(label: string): void;
|
|
20
|
+
timeEnd(label: string): void;
|
|
21
|
+
trace(message: string, metadata?: any): void;
|
|
22
|
+
count(label?: string): void;
|
|
23
|
+
countReset(label?: string): void;
|
|
24
|
+
table(data: any): void;
|
|
25
|
+
}
|
|
26
|
+
export declare class PerformanceLogger extends BrowserLogger {
|
|
27
|
+
mark(name: string): void;
|
|
28
|
+
measure(name: string, startMark?: string, endMark?: string): void;
|
|
29
|
+
clearMarks(name?: string): void;
|
|
30
|
+
clearMeasures(name?: string): void;
|
|
31
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseLogger } from '../core/logger.cjs';
|
|
2
|
+
import { LogEntry, LoggerConfig, LogLevel } from '../core/types.cjs';
|
|
3
|
+
export declare class NodeLogger extends BaseLogger {
|
|
4
|
+
private winston?;
|
|
5
|
+
constructor(config?: Partial<LoggerConfig>);
|
|
6
|
+
private initializeWinston;
|
|
7
|
+
private createWinstonLogger;
|
|
8
|
+
protected writeLog(entry: LogEntry): void;
|
|
9
|
+
protected createChild(): BaseLogger;
|
|
10
|
+
private writeToConsole;
|
|
11
|
+
private getWinstonLevel;
|
|
12
|
+
setLevel(level: LogLevel): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createMorganStream(logger: NodeLogger): {
|
|
15
|
+
write: (message: string) => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseLogger } from '../core/logger.mjs';
|
|
2
|
+
import { LogEntry, LoggerConfig, LogLevel } from '../core/types.mjs';
|
|
3
|
+
export declare class NodeLogger extends BaseLogger {
|
|
4
|
+
private winston?;
|
|
5
|
+
constructor(config?: Partial<LoggerConfig>);
|
|
6
|
+
private initializeWinston;
|
|
7
|
+
private createWinstonLogger;
|
|
8
|
+
protected writeLog(entry: LogEntry): void;
|
|
9
|
+
protected createChild(): BaseLogger;
|
|
10
|
+
private writeToConsole;
|
|
11
|
+
private getWinstonLevel;
|
|
12
|
+
setLevel(level: LogLevel): void;
|
|
13
|
+
}
|
|
14
|
+
export declare function createMorganStream(logger: NodeLogger): {
|
|
15
|
+
write: (message: string) => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LoggerConfig } from '../core/types.cjs';
|
|
2
|
+
export declare function getDefaultConfig(): LoggerConfig;
|
|
3
|
+
export declare function loadConfigFromEnvironment(): Partial<LoggerConfig>;
|
|
4
|
+
export declare function loadConfigFromFile(configPath?: string): Promise<Partial<LoggerConfig>>;
|
|
5
|
+
export declare function mergeConfigs(...configs: Partial<LoggerConfig>[]): LoggerConfig;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { LoggerConfig } from '../core/types.mjs';
|
|
2
|
+
export declare function getDefaultConfig(): LoggerConfig;
|
|
3
|
+
export declare function loadConfigFromEnvironment(): Partial<LoggerConfig>;
|
|
4
|
+
export declare function loadConfigFromFile(configPath?: string): Promise<Partial<LoggerConfig>>;
|
|
5
|
+
export declare function mergeConfigs(...configs: Partial<LoggerConfig>[]): LoggerConfig;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LogEntry, LogLevel } from '../core/types.cjs';
|
|
2
|
+
/**
|
|
3
|
+
* Format a log entry for output in different formats.
|
|
4
|
+
* @param entry - The log entry to format
|
|
5
|
+
* @param format - Output format ('json' or 'text')
|
|
6
|
+
* @returns Formatted log string
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const entry: LogEntry = {
|
|
10
|
+
* timestamp: new Date(),
|
|
11
|
+
* level: LogLevel.INFO,
|
|
12
|
+
* message: 'User logged in',
|
|
13
|
+
* metadata: { userId: 123 },
|
|
14
|
+
* runtime: 'node'
|
|
15
|
+
* };
|
|
16
|
+
*
|
|
17
|
+
* const textFormat = formatLogEntry(entry, 'text');
|
|
18
|
+
* // Result: "[2024-01-01T12:00:00.000Z] INFO: User logged in {\"userId\":123}"
|
|
19
|
+
*
|
|
20
|
+
* const jsonFormat = formatLogEntry(entry, 'json');
|
|
21
|
+
* // Result: {"timestamp":"2024-01-01T12:00:00.000Z","level":"info","message":"User logged in","metadata":{"userId":123},"runtime":"node"}
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatLogEntry(entry: LogEntry, format?: 'json' | 'text'): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format log level as a colored string for terminal output.
|
|
27
|
+
* @param level - The log level to format
|
|
28
|
+
* @param colorize - Whether to apply ANSI color codes
|
|
29
|
+
* @returns Formatted level string with optional colors
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatLevel(level: LogLevel, colorize?: boolean): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LogEntry, LogLevel } from '../core/types.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* Format a log entry for output in different formats.
|
|
4
|
+
* @param entry - The log entry to format
|
|
5
|
+
* @param format - Output format ('json' or 'text')
|
|
6
|
+
* @returns Formatted log string
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const entry: LogEntry = {
|
|
10
|
+
* timestamp: new Date(),
|
|
11
|
+
* level: LogLevel.INFO,
|
|
12
|
+
* message: 'User logged in',
|
|
13
|
+
* metadata: { userId: 123 },
|
|
14
|
+
* runtime: 'node'
|
|
15
|
+
* };
|
|
16
|
+
*
|
|
17
|
+
* const textFormat = formatLogEntry(entry, 'text');
|
|
18
|
+
* // Result: "[2024-01-01T12:00:00.000Z] INFO: User logged in {\"userId\":123}"
|
|
19
|
+
*
|
|
20
|
+
* const jsonFormat = formatLogEntry(entry, 'json');
|
|
21
|
+
* // Result: {"timestamp":"2024-01-01T12:00:00.000Z","level":"info","message":"User logged in","metadata":{"userId":123},"runtime":"node"}
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatLogEntry(entry: LogEntry, format?: 'json' | 'text'): string;
|
|
25
|
+
/**
|
|
26
|
+
* Format log level as a colored string for terminal output.
|
|
27
|
+
* @param level - The log level to format
|
|
28
|
+
* @param colorize - Whether to apply ANSI color codes
|
|
29
|
+
* @returns Formatted level string with optional colors
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatLevel(level: LogLevel, colorize?: boolean): string;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RuntimeInfo } from '../core/types.cjs';
|
|
2
|
+
/**
|
|
3
|
+
* Detects the current JavaScript runtime environment and its capabilities.
|
|
4
|
+
* @returns Information about the detected runtime
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* const runtime = detectRuntime();
|
|
8
|
+
* console.log(`Running on: ${runtime.name} ${runtime.version}`);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectRuntime(): RuntimeInfo;
|
|
12
|
+
/**
|
|
13
|
+
* Check if the current runtime is Node.js.
|
|
14
|
+
* @returns True if running in Node.js
|
|
15
|
+
*/
|
|
16
|
+
export declare function isNode(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Check if the current runtime is a browser.
|
|
19
|
+
* @returns True if running in a browser
|
|
20
|
+
*/
|
|
21
|
+
export declare function isBrowser(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Check if the current runtime is Deno.
|
|
24
|
+
* @returns True if running in Deno
|
|
25
|
+
*/
|
|
26
|
+
export declare function isDeno(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Check if the current runtime is Bun.
|
|
29
|
+
* @returns True if running in Bun
|
|
30
|
+
*/
|
|
31
|
+
export declare function isBun(): boolean;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { RuntimeInfo } from '../core/types.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* Detects the current JavaScript runtime environment and its capabilities.
|
|
4
|
+
* @returns Information about the detected runtime
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* const runtime = detectRuntime();
|
|
8
|
+
* console.log(`Running on: ${runtime.name} ${runtime.version}`);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function detectRuntime(): RuntimeInfo;
|
|
12
|
+
/**
|
|
13
|
+
* Check if the current runtime is Node.js.
|
|
14
|
+
* @returns True if running in Node.js
|
|
15
|
+
*/
|
|
16
|
+
export declare function isNode(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Check if the current runtime is a browser.
|
|
19
|
+
* @returns True if running in a browser
|
|
20
|
+
*/
|
|
21
|
+
export declare function isBrowser(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Check if the current runtime is Deno.
|
|
24
|
+
* @returns True if running in Deno
|
|
25
|
+
*/
|
|
26
|
+
export declare function isDeno(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Check if the current runtime is Bun.
|
|
29
|
+
* @returns True if running in Bun
|
|
30
|
+
*/
|
|
31
|
+
export declare function isBun(): boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safely stringify an object to JSON, handling circular references,
|
|
3
|
+
* Error objects, functions, and other non-serializable values.
|
|
4
|
+
* @param obj - The object to stringify
|
|
5
|
+
* @param space - Number of spaces for pretty-printing (optional)
|
|
6
|
+
* @returns JSON string representation
|
|
7
|
+
*/
|
|
8
|
+
export declare function safeStringify(obj: any, space?: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* Filter out sensitive data from an object before logging.
|
|
11
|
+
* @param obj - The object to filter
|
|
12
|
+
* @param sensitiveKeys - Array of key names to redact (case-insensitive)
|
|
13
|
+
* @returns A new object with sensitive values replaced with '[REDACTED]'
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const data = { username: 'john', password: 'secret123' };
|
|
17
|
+
* const filtered = filterSensitiveData(data);
|
|
18
|
+
* // Result: { username: 'john', password: '[REDACTED]' }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function filterSensitiveData(obj: any, sensitiveKeys?: string[]): any;
|
|
22
|
+
export declare function serializeError(error: any): any;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safely stringify an object to JSON, handling circular references,
|
|
3
|
+
* Error objects, functions, and other non-serializable values.
|
|
4
|
+
* @param obj - The object to stringify
|
|
5
|
+
* @param space - Number of spaces for pretty-printing (optional)
|
|
6
|
+
* @returns JSON string representation
|
|
7
|
+
*/
|
|
8
|
+
export declare function safeStringify(obj: any, space?: number): string;
|
|
9
|
+
/**
|
|
10
|
+
* Filter out sensitive data from an object before logging.
|
|
11
|
+
* @param obj - The object to filter
|
|
12
|
+
* @param sensitiveKeys - Array of key names to redact (case-insensitive)
|
|
13
|
+
* @returns A new object with sensitive values replaced with '[REDACTED]'
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const data = { username: 'john', password: 'secret123' };
|
|
17
|
+
* const filtered = filterSensitiveData(data);
|
|
18
|
+
* // Result: { username: 'john', password: '[REDACTED]' }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function filterSensitiveData(obj: any, sensitiveKeys?: string[]): any;
|
|
22
|
+
export declare function serializeError(error: any): any;
|
|
@@ -19,15 +19,4 @@ export declare function safeStringify(obj: any, space?: number): string;
|
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
export declare function filterSensitiveData(obj: any, sensitiveKeys?: string[]): any;
|
|
22
|
-
/**
|
|
23
|
-
* Serialize Error objects to plain objects for logging.
|
|
24
|
-
* @param error - The error to serialize
|
|
25
|
-
* @returns Serialized error object or original value if not an Error
|
|
26
|
-
* @example
|
|
27
|
-
* ```typescript
|
|
28
|
-
* const error = new Error('Something went wrong');
|
|
29
|
-
* const serialized = serializeError(error);
|
|
30
|
-
* // Result: { name: 'Error', message: 'Something went wrong', stack: '...' }
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
22
|
export declare function serializeError(error: any): any;
|