@decaf-ts/logging 0.2.3 → 0.3.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.
- package/LICENSE.md +0 -0
- package/README.md +363 -2
- package/dist/logging.cjs +304 -89
- package/dist/logging.esm.cjs +304 -89
- package/lib/constants.cjs +28 -15
- package/lib/constants.d.ts +26 -14
- package/lib/decorators.cjs +65 -1
- package/lib/decorators.d.ts +64 -0
- package/lib/esm/constants.d.ts +26 -14
- package/lib/esm/constants.js +28 -15
- package/lib/esm/decorators.d.ts +64 -0
- package/lib/esm/decorators.js +65 -1
- package/lib/esm/index.d.ts +6 -12
- package/lib/esm/index.js +7 -13
- package/lib/esm/logging.d.ts +190 -63
- package/lib/esm/logging.js +207 -63
- package/lib/esm/types.d.ts +57 -9
- package/lib/esm/types.js +1 -1
- package/lib/esm/winston/index.d.ts +0 -0
- package/lib/esm/winston/index.js +0 -0
- package/lib/esm/winston/winston.d.ts +39 -0
- package/lib/esm/winston/winston.js +40 -1
- package/lib/index.cjs +7 -13
- package/lib/index.d.ts +6 -12
- package/lib/logging.cjs +207 -63
- package/lib/logging.d.ts +190 -63
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +57 -9
- package/lib/winston/index.cjs +0 -0
- package/lib/winston/index.d.ts +0 -0
- package/lib/winston/winston.cjs +40 -1
- package/lib/winston/winston.d.ts +39 -0
- package/package.json +1 -1
package/lib/logging.d.ts
CHANGED
|
@@ -2,121 +2,207 @@ import { LoggerFactory, LoggingConfig, LoggingContext, StringLike, Theme, Logger
|
|
|
2
2
|
import { LogLevel } from "./constants";
|
|
3
3
|
/**
|
|
4
4
|
* @description A minimal logger implementation.
|
|
5
|
-
* @summary MiniLogger is a lightweight logging class that implements the
|
|
6
|
-
* It provides basic logging functionality with support for different log levels
|
|
5
|
+
* @summary MiniLogger is a lightweight logging class that implements the Logger interface.
|
|
6
|
+
* It provides basic logging functionality with support for different log levels, verbosity,
|
|
7
|
+
* context-aware logging, and customizable formatting.
|
|
8
|
+
* @param {string} context - The context (typically class name) this logger is associated with
|
|
9
|
+
* @param {Partial<LoggingConfig>} conf - Optional configuration to override global settings
|
|
10
|
+
* @class MiniLogger
|
|
11
|
+
* @example
|
|
12
|
+
* // Create a new logger for a class
|
|
13
|
+
* const logger = new MiniLogger('MyClass');
|
|
7
14
|
*
|
|
8
|
-
*
|
|
15
|
+
* // Log messages at different levels
|
|
16
|
+
* logger.info('This is an info message');
|
|
17
|
+
* logger.debug('This is a debug message');
|
|
18
|
+
* logger.error('Something went wrong');
|
|
19
|
+
*
|
|
20
|
+
* // Create a child logger for a specific method
|
|
21
|
+
* const methodLogger = logger.for('myMethod');
|
|
22
|
+
* methodLogger.verbose('Detailed information', 2);
|
|
23
|
+
*
|
|
24
|
+
* // Log with custom configuration
|
|
25
|
+
* logger.for('specialMethod', { style: true }).info('Styled message');
|
|
9
26
|
*/
|
|
10
27
|
export declare class MiniLogger implements Logger {
|
|
11
28
|
protected context: string;
|
|
12
29
|
protected conf?: Partial<LoggingConfig> | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* @description Creates a new MiniLogger instance.
|
|
15
|
-
* @summary Initializes a MiniLogger with the given class name, optional configuration, and method name.
|
|
16
|
-
*
|
|
17
|
-
* @param context - The name of the class using this logger.
|
|
18
|
-
* @param [conf] - Optional logging configuration. Defaults to Info level and verbosity 0.
|
|
19
|
-
* @param [id] - Optional unique identifier for the logger instance.
|
|
20
|
-
*/
|
|
21
30
|
constructor(context: string, conf?: Partial<LoggingConfig> | undefined);
|
|
22
31
|
protected config(key: keyof LoggingConfig): LoggingConfig[keyof LoggingConfig];
|
|
23
|
-
for(method?: string | ((...args: any[]) => any), config?: Partial<LoggingConfig>, ...args: any[]): Logger;
|
|
24
32
|
/**
|
|
25
|
-
* @description Creates a
|
|
26
|
-
* @summary
|
|
27
|
-
*
|
|
28
|
-
* @param
|
|
29
|
-
* @param
|
|
30
|
-
* @
|
|
31
|
-
|
|
33
|
+
* @description Creates a child logger for a specific method or context
|
|
34
|
+
* @summary Returns a new logger instance with the current context extended by the specified method name
|
|
35
|
+
* @param {string | Function} method - The method name or function to create a logger for
|
|
36
|
+
* @param {Partial<LoggingConfig>} config - Optional configuration to override settings
|
|
37
|
+
* @param {...any} args - Additional arguments to pass to the logger factory
|
|
38
|
+
* @return {Logger} A new logger instance for the specified method
|
|
39
|
+
*/
|
|
40
|
+
for(method?: string | ((...args: any[]) => any), config?: Partial<LoggingConfig>): Logger;
|
|
41
|
+
/**
|
|
42
|
+
* @description Creates a formatted log string
|
|
43
|
+
* @summary Generates a log string with timestamp, colored log level, context, and message
|
|
44
|
+
* @param {LogLevel} level - The log level for this message
|
|
45
|
+
* @param {StringLike | Error} message - The message to log or an Error object
|
|
46
|
+
* @param {string} [stack] - Optional stack trace to include in the log
|
|
47
|
+
* @return {string} A formatted log string with all components
|
|
32
48
|
*/
|
|
33
49
|
protected createLog(level: LogLevel, message: StringLike | Error, stack?: string): string;
|
|
34
50
|
/**
|
|
35
|
-
* @description Logs a message with the specified log level
|
|
51
|
+
* @description Logs a message with the specified log level
|
|
36
52
|
* @summary Checks if the message should be logged based on the current log level,
|
|
37
|
-
* then uses the appropriate console method to output the log
|
|
38
|
-
*
|
|
39
|
-
* @param
|
|
40
|
-
* @param
|
|
41
|
-
* @
|
|
53
|
+
* then uses the appropriate console method to output the formatted log
|
|
54
|
+
* @param {LogLevel} level - The log level of the message
|
|
55
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object
|
|
56
|
+
* @param {string} [stack] - Optional stack trace to include in the log
|
|
57
|
+
* @return {void}
|
|
42
58
|
*/
|
|
43
59
|
protected log(level: LogLevel, msg: StringLike | Error, stack?: string): void;
|
|
44
60
|
/**
|
|
45
|
-
* @description
|
|
46
|
-
* @summary Logs a message at the
|
|
47
|
-
*
|
|
48
|
-
* @param
|
|
49
|
-
* @
|
|
61
|
+
* @description Logs a message at the silly level
|
|
62
|
+
* @summary Logs a message at the silly level if the current verbosity setting allows it
|
|
63
|
+
* @param {StringLike} msg - The message to be logged
|
|
64
|
+
* @param {number} [verbosity=0] - The verbosity level of the message
|
|
65
|
+
* @return {void}
|
|
50
66
|
*/
|
|
51
67
|
silly(msg: StringLike, verbosity?: number): void;
|
|
52
68
|
/**
|
|
53
|
-
* @description Logs a verbose
|
|
54
|
-
* @summary Logs a message at the
|
|
55
|
-
*
|
|
56
|
-
* @param
|
|
57
|
-
* @
|
|
69
|
+
* @description Logs a message at the verbose level
|
|
70
|
+
* @summary Logs a message at the verbose level if the current verbosity setting allows it
|
|
71
|
+
* @param {StringLike} msg - The message to be logged
|
|
72
|
+
* @param {number} [verbosity=0] - The verbosity level of the message
|
|
73
|
+
* @return {void}
|
|
58
74
|
*/
|
|
59
75
|
verbose(msg: StringLike, verbosity?: number): void;
|
|
60
76
|
/**
|
|
61
|
-
* @description Logs
|
|
62
|
-
* @summary Logs a message at the
|
|
63
|
-
*
|
|
64
|
-
* @
|
|
77
|
+
* @description Logs a message at the info level
|
|
78
|
+
* @summary Logs a message at the info level for general application information
|
|
79
|
+
* @param {StringLike} msg - The message to be logged
|
|
80
|
+
* @return {void}
|
|
65
81
|
*/
|
|
66
82
|
info(msg: StringLike): void;
|
|
67
83
|
/**
|
|
68
|
-
* @description Logs a debug
|
|
69
|
-
* @summary Logs a message at the
|
|
70
|
-
*
|
|
71
|
-
* @
|
|
84
|
+
* @description Logs a message at the debug level
|
|
85
|
+
* @summary Logs a message at the debug level for detailed troubleshooting information
|
|
86
|
+
* @param {StringLike} msg - The message to be logged
|
|
87
|
+
* @return {void}
|
|
72
88
|
*/
|
|
73
89
|
debug(msg: StringLike): void;
|
|
74
90
|
/**
|
|
75
|
-
* @description Logs
|
|
76
|
-
* @summary Logs a message at the
|
|
77
|
-
*
|
|
78
|
-
* @
|
|
91
|
+
* @description Logs a message at the error level
|
|
92
|
+
* @summary Logs a message at the error level for errors and exceptions
|
|
93
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object
|
|
94
|
+
* @return {void}
|
|
79
95
|
*/
|
|
80
96
|
error(msg: StringLike | Error): void;
|
|
97
|
+
/**
|
|
98
|
+
* @description Updates the logger configuration
|
|
99
|
+
* @summary Merges the provided configuration with the existing configuration
|
|
100
|
+
* @param {Partial<LoggingConfig>} config - The configuration options to apply
|
|
101
|
+
* @return {void}
|
|
102
|
+
*/
|
|
81
103
|
setConfig(config: Partial<LoggingConfig>): void;
|
|
82
104
|
}
|
|
83
105
|
/**
|
|
84
|
-
* @description A static class for managing logging operations
|
|
106
|
+
* @description A static class for managing logging operations
|
|
85
107
|
* @summary The Logging class provides a centralized logging mechanism with support for
|
|
86
|
-
* different log levels and
|
|
108
|
+
* different log levels, verbosity, and styling. It uses a singleton pattern to maintain a global
|
|
87
109
|
* logger instance and allows creating specific loggers for different classes and methods.
|
|
110
|
+
* @class Logging
|
|
111
|
+
* @example
|
|
112
|
+
* // Set global configuration
|
|
113
|
+
* Logging.setConfig({ level: LogLevel.debug, style: true });
|
|
114
|
+
*
|
|
115
|
+
* // Get a logger for a specific class
|
|
116
|
+
* const logger = Logging.for('MyClass');
|
|
117
|
+
*
|
|
118
|
+
* // Log messages at different levels
|
|
119
|
+
* logger.info('Application started');
|
|
120
|
+
* logger.debug('Processing data...');
|
|
121
|
+
*
|
|
122
|
+
* // Log with context
|
|
123
|
+
* const methodLogger = Logging.for('MyClass.myMethod');
|
|
124
|
+
* methodLogger.verbose('Detailed operation information', 1);
|
|
125
|
+
*
|
|
126
|
+
* // Log errors
|
|
127
|
+
* try {
|
|
128
|
+
* // some operation
|
|
129
|
+
* } catch (error) {
|
|
130
|
+
* logger.error(error);
|
|
131
|
+
* }
|
|
132
|
+
* @mermaid
|
|
133
|
+
* classDiagram
|
|
134
|
+
* class Logger {
|
|
135
|
+
* <<interface>>
|
|
136
|
+
* +for(method, config, ...args)
|
|
137
|
+
* +silly(msg, verbosity)
|
|
138
|
+
* +verbose(msg, verbosity)
|
|
139
|
+
* +info(msg)
|
|
140
|
+
* +debug(msg)
|
|
141
|
+
* +error(msg)
|
|
142
|
+
* +setConfig(config)
|
|
143
|
+
* }
|
|
144
|
+
*
|
|
145
|
+
* class Logging {
|
|
146
|
+
* -global: Logger
|
|
147
|
+
* -_factory: LoggerFactory
|
|
148
|
+
* -_config: LoggingConfig
|
|
149
|
+
* +setFactory(factory)
|
|
150
|
+
* +setConfig(config)
|
|
151
|
+
* +getConfig()
|
|
152
|
+
* +get()
|
|
153
|
+
* +verbose(msg, verbosity)
|
|
154
|
+
* +info(msg)
|
|
155
|
+
* +debug(msg)
|
|
156
|
+
* +silly(msg)
|
|
157
|
+
* +error(msg)
|
|
158
|
+
* +for(object, config, ...args)
|
|
159
|
+
* +because(reason, id)
|
|
160
|
+
* +theme(text, type, loggerLevel, template)
|
|
161
|
+
* }
|
|
88
162
|
*
|
|
89
|
-
*
|
|
163
|
+
* class MiniLogger {
|
|
164
|
+
* +constructor(context, conf?)
|
|
165
|
+
* }
|
|
166
|
+
*
|
|
167
|
+
* Logging ..> Logger : creates
|
|
168
|
+
* Logging ..> MiniLogger : creates by default
|
|
90
169
|
*/
|
|
91
170
|
export declare class Logging {
|
|
92
171
|
/**
|
|
93
|
-
* @description The global logger instance
|
|
94
|
-
* @summary A singleton instance of
|
|
172
|
+
* @description The global logger instance
|
|
173
|
+
* @summary A singleton instance of Logger used for global logging
|
|
95
174
|
*/
|
|
96
175
|
private static global?;
|
|
97
176
|
/**
|
|
98
|
-
* @description Factory function for creating logger instances
|
|
99
|
-
* @summary A function that creates new
|
|
177
|
+
* @description Factory function for creating logger instances
|
|
178
|
+
* @summary A function that creates new Logger instances. By default, it creates a MiniLogger.
|
|
100
179
|
*/
|
|
101
180
|
private static _factory;
|
|
102
181
|
/**
|
|
103
|
-
* @description Configuration for the logging system
|
|
104
|
-
* @summary Stores the global verbosity level and
|
|
182
|
+
* @description Configuration for the logging system
|
|
183
|
+
* @summary Stores the global logging configuration including verbosity, log level, styling, and formatting settings
|
|
105
184
|
*/
|
|
106
185
|
private static _config;
|
|
186
|
+
private constructor();
|
|
107
187
|
/**
|
|
108
|
-
* @description
|
|
109
|
-
* @summary
|
|
188
|
+
* @description Sets the factory function for creating logger instances
|
|
189
|
+
* @summary Allows customizing how logger instances are created
|
|
190
|
+
* @param {LoggerFactory} factory - The factory function to use for creating loggers
|
|
191
|
+
* @return {void}
|
|
110
192
|
*/
|
|
111
|
-
private constructor();
|
|
112
193
|
static setFactory(factory: LoggerFactory): void;
|
|
113
194
|
/**
|
|
114
|
-
* @description
|
|
115
|
-
* @summary Allows updating the global logging configuration
|
|
116
|
-
*
|
|
117
|
-
* @
|
|
195
|
+
* @description Updates the global logging configuration
|
|
196
|
+
* @summary Allows updating the global logging configuration with new settings
|
|
197
|
+
* @param {Partial<LoggingConfig>} config - The configuration options to apply
|
|
198
|
+
* @return {void}
|
|
118
199
|
*/
|
|
119
200
|
static setConfig(config: Partial<LoggingConfig>): void;
|
|
201
|
+
/**
|
|
202
|
+
* @description Gets a copy of the current global logging configuration
|
|
203
|
+
* @summary Returns a copy of the current global logging configuration
|
|
204
|
+
* @return {LoggingConfig} A copy of the current configuration
|
|
205
|
+
*/
|
|
120
206
|
static getConfig(): LoggingConfig;
|
|
121
207
|
/**
|
|
122
208
|
* @description Retrieves or creates the global logger instance.
|
|
@@ -161,6 +247,14 @@ export declare class Logging {
|
|
|
161
247
|
* @param msg - The message to be logged.
|
|
162
248
|
*/
|
|
163
249
|
static error(msg: StringLike): void;
|
|
250
|
+
/**
|
|
251
|
+
* @description Creates a logger for a specific object or context
|
|
252
|
+
* @summary Creates a new logger instance for the given object or context using the factory function
|
|
253
|
+
* @param {LoggingContext} object - The object, class, or context to create a logger for
|
|
254
|
+
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override global settings
|
|
255
|
+
* @param {...any} args - Additional arguments to pass to the logger factory
|
|
256
|
+
* @return {Logger} A new logger instance for the specified object or context
|
|
257
|
+
*/
|
|
164
258
|
static for(object: LoggingContext, config?: Partial<LoggingConfig>, ...args: any[]): Logger;
|
|
165
259
|
/**
|
|
166
260
|
* @description Creates a logger for a specific reason or context.
|
|
@@ -173,5 +267,38 @@ export declare class Logging {
|
|
|
173
267
|
* @returns A new VerbosityLogger or ClassLogger instance.
|
|
174
268
|
*/
|
|
175
269
|
static because(reason: string, id?: string): Logger;
|
|
270
|
+
/**
|
|
271
|
+
* @description Applies theme styling to text
|
|
272
|
+
* @summary Applies styling (colors, formatting) to text based on the theme configuration
|
|
273
|
+
* @param {string} text - The text to style
|
|
274
|
+
* @param {string} type - The type of element to style (e.g., "class", "message", "logLevel")
|
|
275
|
+
* @param {LogLevel} loggerLevel - The log level to use for styling
|
|
276
|
+
* @param {Theme} [template=DefaultTheme] - The theme to use for styling
|
|
277
|
+
* @return {string} The styled text
|
|
278
|
+
* @mermaid
|
|
279
|
+
* sequenceDiagram
|
|
280
|
+
* participant Caller
|
|
281
|
+
* participant Theme as Logging.theme
|
|
282
|
+
* participant Apply as apply function
|
|
283
|
+
* participant Style as styled-string-builder
|
|
284
|
+
*
|
|
285
|
+
* Caller->>Theme: theme(text, type, loggerLevel)
|
|
286
|
+
* Theme->>Theme: Check if styling is enabled
|
|
287
|
+
* alt styling disabled
|
|
288
|
+
* Theme-->>Caller: return original text
|
|
289
|
+
* else styling enabled
|
|
290
|
+
* Theme->>Theme: Get theme for type
|
|
291
|
+
* alt theme not found
|
|
292
|
+
* Theme-->>Caller: return original text
|
|
293
|
+
* else theme found
|
|
294
|
+
* Theme->>Theme: Determine actual theme based on log level
|
|
295
|
+
* Theme->>Apply: Apply each style property
|
|
296
|
+
* Apply->>Style: Apply colors and formatting
|
|
297
|
+
* Style-->>Apply: Return styled text
|
|
298
|
+
* Apply-->>Theme: Return styled text
|
|
299
|
+
* Theme-->>Caller: Return final styled text
|
|
300
|
+
* end
|
|
301
|
+
* end
|
|
302
|
+
*/
|
|
176
303
|
static theme(text: string, type: keyof Theme | keyof LogLevel, loggerLevel: LogLevel, template?: Theme): string;
|
|
177
304
|
}
|
package/lib/types.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0eWxlcyB9IGZyb20gXCJzdHlsZWQtc3RyaW5nLWJ1aWxkZXJcIjtcbmltcG9ydCB7IExvZ2dpbmdNb2RlLCBMb2dMZXZlbCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIHR5cGUgcmVwcmVzZW50aW5nIHN0cmluZy1saWtlIHZhbHVlc1xuICogQHN1bW1hcnkgUmVwcmVzZW50cyBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gb2JqZWN0IHdpdGggYSB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nXG4gKiBAdHlwZWRlZiB7KHN0cmluZ3xPYmplY3QpfSBTdHJpbmdMaWtlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IHR5cGUgU3RyaW5nTGlrZSA9IHN0cmluZyB8IHsgdG9TdHJpbmc6ICgpID0+IHN0cmluZyB9O1xuXG5leHBvcnQgdHlwZSBBbnlGdW5jdGlvbiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIHR5cGUgcmVwcmVzZW50aW5nIGxvZ2dpbmcgY29udGV4dFxuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIGNvbnRleHQgZm9yIGxvZ2dpbmcsIHdoaWNoIGNhbiBiZSBhIHN0cmluZywgYSBjbGFzcyBjb25zdHJ1Y3Rvciwgb3IgYSBmdW5jdGlvblxuICogQHR5cGVkZWYgeyhzdHJpbmd8RnVuY3Rpb258T2JqZWN0KX0gTG9nZ2luZ0NvbnRleHRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6TG9nZ2luZ1xuICovXG5leHBvcnQgdHlwZSBMb2dnaW5nQ29udGV4dCA9XG4gIHwgc3RyaW5nXG4gIHwgeyBuZXcgKC4uLmFyZ3M6IGFueVtdKTogYW55IH1cbiAgfCBBbnlGdW5jdGlvbjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBhIGxvZ2dlciB3aXRoIHZlcmJvc2l0eSBsZXZlbHMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIG1ldGhvZHMgZm9yIGxvZ2dpbmcgYXQgZGlmZmVyZW50IHZlcmJvc2l0eSBsZXZlbHMuXG4gKiBAaW50ZXJmYWNlIExvZ2dlclxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nZ2VyIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgYHdheSB0b28gdmVyYm9zZWAgb3IgYSBzaWxseSBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge1N0cmluZ0xpa2V9IG1zZyAtIFRoZSBtZXNzYWdlIHRvIGxvZy5cbiAgICovXG4gIHNpbGx5KG1zZzogU3RyaW5nTGlrZSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTG9ncyBhIHZlcmJvc2UgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtTdHJpbmdMaWtlfSBtc2cgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB2ZXJib3NpdHkgLSBUaGUgdmVyYm9zaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgKi9cbiAgdmVyYm9zZShtc2c6IFN0cmluZ0xpa2UsIHZlcmJvc2l0eT86IG51bWJlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGFuIGluZm8gbWVzc2FnZS5cbiAgICogQHBhcmFtIHtTdHJpbmdMaWtlfSBtc2cgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqL1xuICBpbmZvKG1zZzogU3RyaW5nTGlrZSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7U3RyaW5nTGlrZSB8IEVycm9yfSBtc2cgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqL1xuICBlcnJvcihtc2c6IFN0cmluZ0xpa2UgfCBFcnJvcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2dzIGEgZGVidWcgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG1zZyAtIFRoZSBtZXNzYWdlIHRvIGxvZy5cbiAgICovXG4gIGRlYnVnKG1zZzogU3RyaW5nTGlrZSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IGxvZ2dlciBmb3IgYSBzcGVjaWZpYyBtZXRob2Qgb3IgY29udGV4dFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGEgbmV3IGxvZ2dlciBpbnN0YW5jZSB0aGF0IGluY2x1ZGVzIHRoZSBzcGVjaWZpZWQgbWV0aG9kIG9yIGNvbnRleHQgaW4gaXRzIGxvZ3NcbiAgICogQHBhcmFtIHtzdHJpbmd8RnVuY3Rpb259IFttZXRob2RdIC0gVGhlIG1ldGhvZCBuYW1lIG9yIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGxvZ2dlciBmb3JcbiAgICogQHBhcmFtIHtQYXJ0aWFsPExvZ2dpbmdDb25maWc+fSBbY29uZmlnXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuZXcgbG9nZ2VyXG4gICAqIEByZXR1cm4ge0xvZ2dlcn0gQSBuZXcgbG9nZ2VyIGluc3RhbmNlXG4gICAqL1xuICBmb3IoXG4gICAgbWV0aG9kPzogc3RyaW5nIHwgKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSxcbiAgICBjb25maWc/OiBQYXJ0aWFsPExvZ2dpbmdDb25maWc+XG4gICk6IExvZ2dlcjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVwZGF0ZXMgdGhlIGxvZ2dlciBjb25maWd1cmF0aW9uXG4gICAqIEBzdW1tYXJ5IFNldHMgb3IgdXBkYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGlzIGxvZ2dlciBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz59IGNvbmZpZyAtIFRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gYXBwbHlcbiAgICovXG4gIHNldENvbmZpZyhjb25maWc6IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4pOiB2b2lkO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb25maWd1cmF0aW9uIGZvciBsb2dnaW5nLlxuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgbG9nIGxldmVsIGFuZCB2ZXJib3NpdHkgZm9yIGxvZ2dpbmcuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBMb2dnaW5nQ29uZmlnXG4gKiBAcHJvcGVydHkge0xvZ0xldmVsfSBsZXZlbCAtIFRoZSBsb2dnaW5nIGxldmVsLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbbG9nTGV2ZWxdIC0gV2hldGhlciB0byBkaXNwbGF5IGxvZyBsZXZlbCBpbiBvdXRwdXQuXG4gKiBAcHJvcGVydHkge251bWJlcn0gdmVyYm9zZSAtIFRoZSB2ZXJib3NpdHkgbGV2ZWwuXG4gKiBAcHJvcGVydHkge0xvZ2dpbmdNb2RlfSBbbW9kZV0gLSBPdXRwdXQgZm9ybWF0IG1vZGUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gY29udGV4dFNlcGFyYXRvciAtIFNlcGFyYXRvciBiZXR3ZWVuIGNvbnRleHQgZW50cmllcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZXBhcmF0b3IgLSBTZXBhcmF0b3IgYmV0d2VlbiBsb2cgY29tcG9uZW50cy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3N0eWxlXSAtIFdoZXRoZXIgdG8gYXBwbHkgc3R5bGluZyB0byBsb2cgb3V0cHV0LlxuICogQHByb3BlcnR5IHtib29sZWFufSBbdGltZXN0YW1wXSAtIFdoZXRoZXIgdG8gaW5jbHVkZSB0aW1lc3RhbXBzIGluIGxvZyBtZXNzYWdlcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbdGltZXN0YW1wRm9ybWF0XSAtIEZvcm1hdCBmb3IgdGltZXN0YW1wcy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2NvbnRleHRdIC0gV2hldGhlciB0byBpbmNsdWRlIGNvbnRleHQgaW5mb3JtYXRpb24gaW4gbG9nIG1lc3NhZ2VzLlxuICogQHByb3BlcnR5IHtUaGVtZX0gW3RoZW1lXSAtIFRoZSB0aGVtZSB0byB1c2UgZm9yIHN0eWxpbmcgbG9nIG1lc3NhZ2VzLlxuICogQHByb3BlcnR5IHtzdHJpbmd8bnVtYmVyfSBbY29ycmVsYXRpb25JZF0gLSBDb3JyZWxhdGlvbiBJRCBmb3IgdHJhY2tpbmcgcmVsYXRlZCBsb2cgbWVzc2FnZXMuXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IHR5cGUgTG9nZ2luZ0NvbmZpZyA9IHtcbiAgbGV2ZWw6IExvZ0xldmVsO1xuICBsb2dMZXZlbD86IGJvb2xlYW47XG4gIHZlcmJvc2U6IG51bWJlcjtcbiAgbW9kZT86IExvZ2dpbmdNb2RlO1xuICBjb250ZXh0U2VwYXJhdG9yOiBzdHJpbmc7XG4gIHNlcGFyYXRvcjogc3RyaW5nO1xuICBzdHlsZT86IGJvb2xlYW47XG4gIHRpbWVzdGFtcD86IGJvb2xlYW47XG4gIHRpbWVzdGFtcEZvcm1hdD86IHN0cmluZztcbiAgY29udGV4dD86IGJvb2xlYW47XG4gIHRoZW1lPzogVGhlbWU7XG4gIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcgfCBudW1iZXI7XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIGZhY3RvcnkgZnVuY3Rpb24gdHlwZSBmb3IgY3JlYXRpbmcgbG9nZ2Vyc1xuICogQHN1bW1hcnkgRGVmaW5lcyBhIGZ1bmN0aW9uIHR5cGUgdGhhdCBjcmVhdGVzIGFuZCByZXR1cm5zIGEgbG9nZ2VyIGluc3RhbmNlIGZvciBhIGdpdmVuIG9iamVjdFxuICogQHRlbXBsYXRlIEwgLSBUaGUgbG9nZ2VyIHR5cGUsIGV4dGVuZGluZyB0aGUgYmFzZSBMb2dnZXIgaW50ZXJmYWNlXG4gKiBAdHlwZWRlZiB7RnVuY3Rpb259IExvZ2dlckZhY3RvcnlcbiAqIEBwYXJhbSB7c3RyaW5nfSBvYmplY3QgLSBUaGUgb2JqZWN0IG9yIGNvbnRleHQgbmFtZSBmb3IgdGhlIGxvZ2dlclxuICogQHBhcmFtIHtQYXJ0aWFsPExvZ2dpbmdDb25maWc+fSBbY29uZmlnXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBsb2dnZXJcbiAqIEByZXR1cm4ge0x9IEEgbG9nZ2VyIGluc3RhbmNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IHR5cGUgTG9nZ2VyRmFjdG9yeTxMIGV4dGVuZHMgTG9nZ2VyID0gTG9nZ2VyPiA9IChcbiAgb2JqZWN0OiBzdHJpbmcsXG4gIGNvbmZpZz86IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4sXG4gIC4uLmFyZ3M6IGFueVtdXG4pID0+IEw7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSB0aGVtZSBvcHRpb24gZm9yIGNvbnNvbGUgb3V0cHV0IHN0eWxpbmcuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgZm9yIHN0eWxpbmcgYSBzcGVjaWZpYyBlbGVtZW50IGluIHRoZSBjb25zb2xlIG91dHB1dC5cbiAqIEl0IGFsbG93cyBmb3IgY3VzdG9taXphdGlvbiBvZiBmb3JlZ3JvdW5kIGNvbG9yLCBiYWNrZ3JvdW5kIGNvbG9yLCBhbmQgYWRkaXRpb25hbCBzdHlsZXMuXG4gKiBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBhcyBhIHNpbmdsZSBudW1iZXIsIGFuIFJHQiBhcnJheSwgb3IgbGVmdCB1bmRlZmluZWQgZm9yIGRlZmF1bHQuXG4gKiBAaW50ZXJmYWNlIFRoZW1lT3B0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOkxvZ2dpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaGVtZU9wdGlvbiB7XG4gIGZnPzogbnVtYmVyIHwgW251bWJlcl0gfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cbiAgYmc/OiBudW1iZXIgfCBbbnVtYmVyXSB8IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblxuICBzdHlsZT86IG51bWJlcltdIHwgW2tleW9mIHR5cGVvZiBzdHlsZXNdO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBIHR5cGUgZm9yIHRoZW1lIG9wdGlvbnMgb3JnYW5pemVkIGJ5IGxvZyBsZXZlbFxuICogQHN1bW1hcnkgRGVmaW5lcyBhIHBhcnRpYWwgcmVjb3JkIG1hcHBpbmcgbG9nIGxldmVscyB0byB0aGVtZSBvcHRpb25zLCBhbGxvd2luZyBkaWZmZXJlbnQgc3R5bGluZyBmb3IgZGlmZmVyZW50IGxvZyBsZXZlbHNcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFRoZW1lT3B0aW9uQnlMb2dMZXZlbFxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCB0eXBlIFRoZW1lT3B0aW9uQnlMb2dMZXZlbCA9IFBhcnRpYWw8UmVjb3JkPExvZ0xldmVsLCBUaGVtZU9wdGlvbj4+O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSBjb2xvciB0aGVtZSBmb3IgY29uc29sZSBvdXRwdXQuXG4gKiBAc3VtbWFyeSBUaGlzIGludGVyZmFjZSBzcGVjaWZpZXMgdGhlIGNvbG9yIHNjaGVtZSBmb3IgdmFyaW91cyBlbGVtZW50cyBvZiBjb25zb2xlIG91dHB1dCxcbiAqIGluY2x1ZGluZyBzdHlsaW5nIGZvciBkaWZmZXJlbnQgbG9nIGxldmVscyBhbmQgY29tcG9uZW50cy4gSXQgdXNlcyBUaGVtZU9wdGlvbiB0b1xuICogZGVmaW5lIHRoZSBzdHlsaW5nIGZvciBlYWNoIGVsZW1lbnQsIGFsbG93aW5nIGZvciBjdXN0b21pemF0aW9uIG9mIGNvbG9ycyBhbmQgc3R5bGVzXG4gKiBmb3IgZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBsb2cgb3V0cHV0LlxuICogQGludGVyZmFjZSBUaGVtZVxuICogQG1lbWJlck9mIG1vZHVsZTpMb2dnaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGhlbWUge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0eWxpbmcgZm9yIGNsYXNzIG5hbWVzIGluIHRoZSBvdXRwdXQuXG4gICAqL1xuICBjbGFzczogVGhlbWVPcHRpb24gfCBUaGVtZU9wdGlvbkJ5TG9nTGV2ZWw7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTdHlsaW5nIGZvciB0aW1lc3RhbXBzIGluIHRoZSBvdXRwdXQuXG4gICAqL1xuICB0aW1lc3RhbXA6IFRoZW1lT3B0aW9uIHwgVGhlbWVPcHRpb25CeUxvZ0xldmVsO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3R5bGluZyBmb3IgdGhlIG1haW4gbWVzc2FnZSB0ZXh0IGluIHRoZSBvdXRwdXQuXG4gICAqL1xuICBtZXNzYWdlOiBUaGVtZU9wdGlvbiB8IFRoZW1lT3B0aW9uQnlMb2dMZXZlbDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0eWxpbmcgZm9yIG1ldGhvZCBuYW1lcyBpbiB0aGUgb3V0cHV0LlxuICAgKi9cbiAgbWV0aG9kOiBUaGVtZU9wdGlvbiB8IFRoZW1lT3B0aW9uQnlMb2dMZXZlbDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0eWxpbmcgZm9yIGlkZW50aWZpZXIgZWxlbWVudHMgaW4gdGhlIG91dHB1dC5cbiAgICovXG4gIGlkOiBUaGVtZU9wdGlvbiB8IFRoZW1lT3B0aW9uQnlMb2dMZXZlbDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0eWxpbmcgZm9yIGlkZW50aWZpZXIgZWxlbWVudHMgaW4gdGhlIG91dHB1dC5cbiAgICovXG4gIHN0YWNrOiBUaGVtZU9wdGlvbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFN0eWxpbmcgZm9yIGRpZmZlcmVudCBsb2cgbGV2ZWxzIGluIHRoZSBvdXRwdXQuXG4gICAqL1xuICBsb2dMZXZlbDogVGhlbWVPcHRpb25CeUxvZ0xldmVsO1xufVxuIl19
|
package/lib/types.d.ts
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
import { styles } from "styled-string-builder";
|
|
2
2
|
import { LoggingMode, LogLevel } from "./constants";
|
|
3
|
+
/**
|
|
4
|
+
* @description A type representing string-like values
|
|
5
|
+
* @summary Represents either a string or an object with a toString method that returns a string
|
|
6
|
+
* @typedef {(string|Object)} StringLike
|
|
7
|
+
* @memberOf module:Logging
|
|
8
|
+
*/
|
|
3
9
|
export type StringLike = string | {
|
|
4
10
|
toString: () => string;
|
|
5
11
|
};
|
|
12
|
+
export type AnyFunction = (...args: any[]) => any;
|
|
13
|
+
/**
|
|
14
|
+
* @description A type representing logging context
|
|
15
|
+
* @summary Represents a context for logging, which can be a string, a class constructor, or a function
|
|
16
|
+
* @typedef {(string|Function|Object)} LoggingContext
|
|
17
|
+
* @memberOf module:Logging
|
|
18
|
+
*/
|
|
6
19
|
export type LoggingContext = string | {
|
|
7
20
|
new (...args: any[]): any;
|
|
8
|
-
} |
|
|
21
|
+
} | AnyFunction;
|
|
9
22
|
/**
|
|
10
23
|
* @description Interface for a logger with verbosity levels.
|
|
11
24
|
* @summary Defines methods for logging at different verbosity levels.
|
|
12
25
|
* @interface Logger
|
|
13
|
-
* @memberOf
|
|
26
|
+
* @memberOf module:Logging
|
|
14
27
|
*/
|
|
15
28
|
export interface Logger {
|
|
16
29
|
/**
|
|
@@ -39,7 +52,19 @@ export interface Logger {
|
|
|
39
52
|
* @param {string} msg - The message to log.
|
|
40
53
|
*/
|
|
41
54
|
debug(msg: StringLike): void;
|
|
55
|
+
/**
|
|
56
|
+
* @description Creates a new logger for a specific method or context
|
|
57
|
+
* @summary Returns a new logger instance that includes the specified method or context in its logs
|
|
58
|
+
* @param {string|Function} [method] - The method name or function to create a logger for
|
|
59
|
+
* @param {Partial<LoggingConfig>} [config] - Optional configuration for the new logger
|
|
60
|
+
* @return {Logger} A new logger instance
|
|
61
|
+
*/
|
|
42
62
|
for(method?: string | ((...args: any[]) => any), config?: Partial<LoggingConfig>): Logger;
|
|
63
|
+
/**
|
|
64
|
+
* @description Updates the logger configuration
|
|
65
|
+
* @summary Sets or updates the configuration options for this logger instance
|
|
66
|
+
* @param {Partial<LoggingConfig>} config - The configuration options to apply
|
|
67
|
+
*/
|
|
43
68
|
setConfig(config: Partial<LoggingConfig>): void;
|
|
44
69
|
}
|
|
45
70
|
/**
|
|
@@ -47,14 +72,25 @@ export interface Logger {
|
|
|
47
72
|
* @summary Defines the log level and verbosity for logging.
|
|
48
73
|
* @typedef {Object} LoggingConfig
|
|
49
74
|
* @property {LogLevel} level - The logging level.
|
|
75
|
+
* @property {boolean} [logLevel] - Whether to display log level in output.
|
|
50
76
|
* @property {number} verbose - The verbosity level.
|
|
51
|
-
* @
|
|
77
|
+
* @property {LoggingMode} [mode] - Output format mode.
|
|
78
|
+
* @property {string} contextSeparator - Separator between context entries.
|
|
79
|
+
* @property {string} separator - Separator between log components.
|
|
80
|
+
* @property {boolean} [style] - Whether to apply styling to log output.
|
|
81
|
+
* @property {boolean} [timestamp] - Whether to include timestamps in log messages.
|
|
82
|
+
* @property {string} [timestampFormat] - Format for timestamps.
|
|
83
|
+
* @property {boolean} [context] - Whether to include context information in log messages.
|
|
84
|
+
* @property {Theme} [theme] - The theme to use for styling log messages.
|
|
85
|
+
* @property {string|number} [correlationId] - Correlation ID for tracking related log messages.
|
|
86
|
+
* @memberOf module:Logging
|
|
52
87
|
*/
|
|
53
88
|
export type LoggingConfig = {
|
|
54
89
|
level: LogLevel;
|
|
55
90
|
logLevel?: boolean;
|
|
56
91
|
verbose: number;
|
|
57
92
|
mode?: LoggingMode;
|
|
93
|
+
contextSeparator: string;
|
|
58
94
|
separator: string;
|
|
59
95
|
style?: boolean;
|
|
60
96
|
timestamp?: boolean;
|
|
@@ -63,33 +99,45 @@ export type LoggingConfig = {
|
|
|
63
99
|
theme?: Theme;
|
|
64
100
|
correlationId?: string | number;
|
|
65
101
|
};
|
|
102
|
+
/**
|
|
103
|
+
* @description A factory function type for creating loggers
|
|
104
|
+
* @summary Defines a function type that creates and returns a logger instance for a given object
|
|
105
|
+
* @template L - The logger type, extending the base Logger interface
|
|
106
|
+
* @typedef {Function} LoggerFactory
|
|
107
|
+
* @param {string} object - The object or context name for the logger
|
|
108
|
+
* @param {Partial<LoggingConfig>} [config] - Optional configuration for the logger
|
|
109
|
+
* @return {L} A logger instance
|
|
110
|
+
* @memberOf module:Logging
|
|
111
|
+
*/
|
|
66
112
|
export type LoggerFactory<L extends Logger = Logger> = (object: string, config?: Partial<LoggingConfig>, ...args: any[]) => L;
|
|
67
113
|
/**
|
|
68
|
-
/**
|
|
69
114
|
* @description Represents a theme option for console output styling.
|
|
70
115
|
* @summary Defines the structure for styling a specific element in the console output.
|
|
71
116
|
* It allows for customization of foreground color, background color, and additional styles.
|
|
72
117
|
* Colors can be specified as a single number, an RGB array, or left undefined for default.
|
|
73
|
-
*
|
|
74
118
|
* @interface ThemeOption
|
|
75
|
-
* @memberOf
|
|
119
|
+
* @memberOf module:Logging
|
|
76
120
|
*/
|
|
77
121
|
export interface ThemeOption {
|
|
78
122
|
fg?: number | [number] | [number, number, number];
|
|
79
123
|
bg?: number | [number] | [number, number, number];
|
|
80
124
|
style?: number[] | [keyof typeof styles];
|
|
81
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* @description A type for theme options organized by log level
|
|
128
|
+
* @summary Defines a partial record mapping log levels to theme options, allowing different styling for different log levels
|
|
129
|
+
* @typedef {Object} ThemeOptionByLogLevel
|
|
130
|
+
* @memberOf module:Logging
|
|
131
|
+
*/
|
|
82
132
|
export type ThemeOptionByLogLevel = Partial<Record<LogLevel, ThemeOption>>;
|
|
83
133
|
/**
|
|
84
|
-
/**
|
|
85
134
|
* @description Defines the color theme for console output.
|
|
86
135
|
* @summary This interface specifies the color scheme for various elements of console output,
|
|
87
136
|
* including styling for different log levels and components. It uses ThemeOption to
|
|
88
137
|
* define the styling for each element, allowing for customization of colors and styles
|
|
89
138
|
* for different parts of the log output.
|
|
90
|
-
*
|
|
91
139
|
* @interface Theme
|
|
92
|
-
* @memberOf
|
|
140
|
+
* @memberOf module:Logging
|
|
93
141
|
*/
|
|
94
142
|
export interface Theme {
|
|
95
143
|
/**
|
package/lib/winston/index.cjs
CHANGED
|
File without changes
|
package/lib/winston/index.d.ts
CHANGED
|
File without changes
|
package/lib/winston/winston.cjs
CHANGED
|
@@ -6,6 +6,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.WinstonFactory = exports.WinstonLogger = void 0;
|
|
7
7
|
const winston_1 = __importDefault(require("winston"));
|
|
8
8
|
const logging_1 = require("./../logging.cjs");
|
|
9
|
+
/**
|
|
10
|
+
* @description A logger implementation using Winston
|
|
11
|
+
* @summary WinstonLogger extends MiniLogger to provide logging functionality using the Winston library.
|
|
12
|
+
* It configures Winston with appropriate transports and formats based on the logging configuration.
|
|
13
|
+
* @param {string} cont - The context (typically class name) this logger is associated with
|
|
14
|
+
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings
|
|
15
|
+
* @param {Transport[]|Transport} [transports] - Winston transports to use for logging
|
|
16
|
+
* @class WinstonLogger
|
|
17
|
+
* @example
|
|
18
|
+
* // Create a Winston logger for a class
|
|
19
|
+
* const logger = new WinstonLogger('MyClass');
|
|
20
|
+
*
|
|
21
|
+
* // Log messages at different levels
|
|
22
|
+
* logger.info('Application started');
|
|
23
|
+
* logger.error(new Error('Something went wrong'));
|
|
24
|
+
*
|
|
25
|
+
* // Create a child logger for a specific method
|
|
26
|
+
* const methodLogger = logger.for('myMethod');
|
|
27
|
+
* methodLogger.debug('Processing data...');
|
|
28
|
+
*/
|
|
9
29
|
class WinstonLogger extends logging_1.MiniLogger {
|
|
10
30
|
constructor(cont, conf, transports) {
|
|
11
31
|
super(cont, conf);
|
|
@@ -36,6 +56,14 @@ class WinstonLogger extends logging_1.MiniLogger {
|
|
|
36
56
|
};
|
|
37
57
|
this.winston = winston_1.default.createLogger(winstonConfig);
|
|
38
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Logs a message with the specified log level using Winston
|
|
61
|
+
* @summary Overrides the base log method to use Winston for logging
|
|
62
|
+
* @param {LogLevel} level - The log level of the message
|
|
63
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object
|
|
64
|
+
* @param {string} [stack] - Optional stack trace to include in the log
|
|
65
|
+
* @return {void}
|
|
66
|
+
*/
|
|
39
67
|
log(level, msg, stack) {
|
|
40
68
|
const logData = {
|
|
41
69
|
level: level,
|
|
@@ -47,6 +75,17 @@ class WinstonLogger extends logging_1.MiniLogger {
|
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
77
|
exports.WinstonLogger = WinstonLogger;
|
|
78
|
+
/**
|
|
79
|
+
* @description Factory function for creating Winston loggers
|
|
80
|
+
* @summary A LoggerFactory implementation that creates WinstonLogger instances
|
|
81
|
+
* @const WinstonFactory
|
|
82
|
+
* @type {LoggerFactory}
|
|
83
|
+
* @param {string} context - The context (typically class name) for the logger
|
|
84
|
+
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings
|
|
85
|
+
* @param {...any} args - Additional arguments to pass to the WinstonLogger constructor
|
|
86
|
+
* @return {WinstonLogger} A new WinstonLogger instance
|
|
87
|
+
* @memberOf module:Logging
|
|
88
|
+
*/
|
|
50
89
|
const WinstonFactory = (context, conf, ...args) => new WinstonLogger(context, conf, ...args);
|
|
51
90
|
exports.WinstonFactory = WinstonFactory;
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luc3Rvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93aW5zdG9uL3dpbnN0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0RBQTJEO0FBRzNELDhDQUFpRDtBQUdqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsYUFBYyxTQUFRLG9CQUFVO0lBRzNDLFlBQ0UsSUFBWSxFQUNaLElBQTZCLEVBQ25CLFVBQW9DO1FBRTlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFGUixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUc5QyxNQUFNLE1BQU0sR0FBa0IsTUFBTSxDQUFDLE1BQU0sQ0FDekMsRUFBRSxFQUNGLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUNmLGlCQUFPLENBQUMsU0FBUyxFQUFFLENBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQzdDLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLEtBQUs7WUFDZixTQUFTLEVBQUUsS0FBSztZQUNoQixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQUNILE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXJFLE1BQU0sT0FBTyxHQUFHLENBQUMsaUJBQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsaUJBQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLFNBQVM7WUFDWCxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxLQUFLO1lBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSTtZQUNuQyxJQUFJLGlCQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsTUFBTSxFQUFFLGlCQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUMzQyxDQUFDO1NBQ0gsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFrQjtZQUNuQyxLQUFLLEVBQUUsS0FBSztZQUNaLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLE1BQU0sRUFBRSxpQkFBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDN0IsVUFBVSxFQUFFLFVBQVU7U0FDdkIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLEdBQUcsaUJBQU8sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDZ0IsR0FBRyxDQUNwQixLQUFlLEVBQ2YsR0FBdUIsRUFDdkIsS0FBYztRQUVkLE1BQU0sT0FBTyxHQUFhO1lBQ3hCLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7U0FDM0MsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDOUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBL0RELHNDQStEQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLGNBQWMsR0FBa0IsQ0FDM0MsT0FBZSxFQUNmLElBQTZCLEVBQzdCLEdBQUcsSUFBVyxFQUNkLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFKbEMsUUFBQSxjQUFjLGtCQUlvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB3aW5zdG9uLCB7IExvZ0VudHJ5LCBMb2dnZXJPcHRpb25zIH0gZnJvbSBcIndpbnN0b25cIjtcbmltcG9ydCBUcmFuc3BvcnQgZnJvbSBcIndpbnN0b24tdHJhbnNwb3J0XCI7XG5pbXBvcnQgeyBMb2dnZXIsIExvZ2dlckZhY3RvcnksIExvZ2dpbmdDb25maWcsIFN0cmluZ0xpa2UgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IExvZ2dpbmcsIE1pbmlMb2dnZXIgfSBmcm9tIFwiLi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgTG9nTGV2ZWwgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEEgbG9nZ2VyIGltcGxlbWVudGF0aW9uIHVzaW5nIFdpbnN0b25cbiAqIEBzdW1tYXJ5IFdpbnN0b25Mb2dnZXIgZXh0ZW5kcyBNaW5pTG9nZ2VyIHRvIHByb3ZpZGUgbG9nZ2luZyBmdW5jdGlvbmFsaXR5IHVzaW5nIHRoZSBXaW5zdG9uIGxpYnJhcnkuXG4gKiBJdCBjb25maWd1cmVzIFdpbnN0b24gd2l0aCBhcHByb3ByaWF0ZSB0cmFuc3BvcnRzIGFuZCBmb3JtYXRzIGJhc2VkIG9uIHRoZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udCAtIFRoZSBjb250ZXh0ICh0eXBpY2FsbHkgY2xhc3MgbmFtZSkgdGhpcyBsb2dnZXIgaXMgYXNzb2NpYXRlZCB3aXRoXG4gKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz59IFtjb25mXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdG8gb3ZlcnJpZGUgZ2xvYmFsIHNldHRpbmdzXG4gKiBAcGFyYW0ge1RyYW5zcG9ydFtdfFRyYW5zcG9ydH0gW3RyYW5zcG9ydHNdIC0gV2luc3RvbiB0cmFuc3BvcnRzIHRvIHVzZSBmb3IgbG9nZ2luZ1xuICogQGNsYXNzIFdpbnN0b25Mb2dnZXJcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgYSBXaW5zdG9uIGxvZ2dlciBmb3IgYSBjbGFzc1xuICogY29uc3QgbG9nZ2VyID0gbmV3IFdpbnN0b25Mb2dnZXIoJ015Q2xhc3MnKTtcbiAqXG4gKiAvLyBMb2cgbWVzc2FnZXMgYXQgZGlmZmVyZW50IGxldmVsc1xuICogbG9nZ2VyLmluZm8oJ0FwcGxpY2F0aW9uIHN0YXJ0ZWQnKTtcbiAqIGxvZ2dlci5lcnJvcihuZXcgRXJyb3IoJ1NvbWV0aGluZyB3ZW50IHdyb25nJykpO1xuICpcbiAqIC8vIENyZWF0ZSBhIGNoaWxkIGxvZ2dlciBmb3IgYSBzcGVjaWZpYyBtZXRob2RcbiAqIGNvbnN0IG1ldGhvZExvZ2dlciA9IGxvZ2dlci5mb3IoJ215TWV0aG9kJyk7XG4gKiBtZXRob2RMb2dnZXIuZGVidWcoJ1Byb2Nlc3NpbmcgZGF0YS4uLicpO1xuICovXG5leHBvcnQgY2xhc3MgV2luc3RvbkxvZ2dlciBleHRlbmRzIE1pbmlMb2dnZXIgaW1wbGVtZW50cyBMb2dnZXIge1xuICBwcm90ZWN0ZWQgd2luc3Rvbjogd2luc3Rvbi5Mb2dnZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY29udDogc3RyaW5nLFxuICAgIGNvbmY/OiBQYXJ0aWFsPExvZ2dpbmdDb25maWc+LFxuICAgIHByb3RlY3RlZCB0cmFuc3BvcnRzPzogVHJhbnNwb3J0W10gfCBUcmFuc3BvcnRcbiAgKSB7XG4gICAgc3VwZXIoY29udCwgY29uZik7XG4gICAgY29uc3QgY29uZmlnOiBMb2dnaW5nQ29uZmlnID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgdGhpcy5jb25mIHx8IHt9LFxuICAgICAgTG9nZ2luZy5nZXRDb25maWcoKVxuICAgICk7XG4gICAgdGhpcy5jb25mID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25mIHx8IHt9LCB7XG4gICAgICBzdHlsZTogZmFsc2UsXG4gICAgICBsb2dMZXZlbDogZmFsc2UsXG4gICAgICB0aW1lc3RhbXA6IGZhbHNlLFxuICAgICAgY29udGV4dDogZmFsc2UsXG4gICAgfSk7XG4gICAgY29uc3QgeyBsZXZlbCwgY29udGV4dCwgc3R5bGUsIHRpbWVzdGFtcCwgdGltZXN0YW1wRm9ybWF0IH0gPSBjb25maWc7XG5cbiAgICBjb25zdCBmb3JtYXRzID0gW3dpbnN0b24uZm9ybWF0LnNwbGF0KCksIHdpbnN0b24uZm9ybWF0LnNpbXBsZSgpXTtcbiAgICBpZiAodGltZXN0YW1wKVxuICAgICAgZm9ybWF0cy51bnNoaWZ0KHdpbnN0b24uZm9ybWF0LnRpbWVzdGFtcCh7IGZvcm1hdDogdGltZXN0YW1wRm9ybWF0IH0pKTtcbiAgICBpZiAoc3R5bGUpIGZvcm1hdHMudW5zaGlmdCh3aW5zdG9uLmZvcm1hdC5jb2xvcml6ZSgpKTtcblxuICAgIHRoaXMudHJhbnNwb3J0cyA9IHRoaXMudHJhbnNwb3J0cyB8fCBbXG4gICAgICBuZXcgd2luc3Rvbi50cmFuc3BvcnRzLkNvbnNvbGUoe1xuICAgICAgICBmb3JtYXQ6IHdpbnN0b24uZm9ybWF0LmNvbWJpbmUoLi4uZm9ybWF0cyksXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgY29uc3Qgd2luc3RvbkNvbmZpZzogTG9nZ2VyT3B0aW9ucyA9IHtcbiAgICAgIGxldmVsOiBsZXZlbCxcbiAgICAgIGRlZmF1bHRNZXRhOiBjb250ZXh0LFxuICAgICAgZm9ybWF0OiB3aW5zdG9uLmZvcm1hdC5qc29uKCksXG4gICAgICB0cmFuc3BvcnRzOiB0cmFuc3BvcnRzLFxuICAgIH07XG4gICAgdGhpcy53aW5zdG9uID0gd2luc3Rvbi5jcmVhdGVMb2dnZXIod2luc3RvbkNvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIExvZ3MgYSBtZXNzYWdlIHdpdGggdGhlIHNwZWNpZmllZCBsb2cgbGV2ZWwgdXNpbmcgV2luc3RvblxuICAgKiBAc3VtbWFyeSBPdmVycmlkZXMgdGhlIGJhc2UgbG9nIG1ldGhvZCB0byB1c2UgV2luc3RvbiBmb3IgbG9nZ2luZ1xuICAgKiBAcGFyYW0ge0xvZ0xldmVsfSBsZXZlbCAtIFRoZSBsb2cgbGV2ZWwgb2YgdGhlIG1lc3NhZ2VcbiAgICogQHBhcmFtIHtTdHJpbmdMaWtlIHwgRXJyb3J9IG1zZyAtIFRoZSBtZXNzYWdlIHRvIGJlIGxvZ2dlZCBvciBhbiBFcnJvciBvYmplY3RcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGFja10gLSBPcHRpb25hbCBzdGFjayB0cmFjZSB0byBpbmNsdWRlIGluIHRoZSBsb2dcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBsb2coXG4gICAgbGV2ZWw6IExvZ0xldmVsLFxuICAgIG1zZzogU3RyaW5nTGlrZSB8IEVycm9yLFxuICAgIHN0YWNrPzogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGxvZ0RhdGE6IExvZ0VudHJ5ID0ge1xuICAgICAgbGV2ZWw6IGxldmVsLFxuICAgICAgbWVzc2FnZTogdGhpcy5jcmVhdGVMb2cobGV2ZWwsIG1zZywgc3RhY2spLFxuICAgIH07XG4gICAgaWYgKHRoaXMuY29uZmlnKFwiY29ycmVsYXRpb25JZFwiKSlcbiAgICAgIGxvZ0RhdGFbXCJjb3JyZWxhdGlvbklkXCJdID0gdGhpcy5jb25maWcoXCJjb3JyZWxhdGlvbklkXCIpO1xuICAgIHRoaXMud2luc3Rvbi5sb2cobG9nRGF0YSk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgV2luc3RvbiBsb2dnZXJzXG4gKiBAc3VtbWFyeSBBIExvZ2dlckZhY3RvcnkgaW1wbGVtZW50YXRpb24gdGhhdCBjcmVhdGVzIFdpbnN0b25Mb2dnZXIgaW5zdGFuY2VzXG4gKiBAY29uc3QgV2luc3RvbkZhY3RvcnlcbiAqIEB0eXBlIHtMb2dnZXJGYWN0b3J5fVxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRleHQgLSBUaGUgY29udGV4dCAodHlwaWNhbGx5IGNsYXNzIG5hbWUpIGZvciB0aGUgbG9nZ2VyXG4gKiBAcGFyYW0ge1BhcnRpYWw8TG9nZ2luZ0NvbmZpZz59IFtjb25mXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gdG8gb3ZlcnJpZGUgZ2xvYmFsIHNldHRpbmdzXG4gKiBAcGFyYW0gey4uLmFueX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIFdpbnN0b25Mb2dnZXIgY29uc3RydWN0b3JcbiAqIEByZXR1cm4ge1dpbnN0b25Mb2dnZXJ9IEEgbmV3IFdpbnN0b25Mb2dnZXIgaW5zdGFuY2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6TG9nZ2luZ1xuICovXG5leHBvcnQgY29uc3QgV2luc3RvbkZhY3Rvcnk6IExvZ2dlckZhY3RvcnkgPSAoXG4gIGNvbnRleHQ6IHN0cmluZyxcbiAgY29uZj86IFBhcnRpYWw8TG9nZ2luZ0NvbmZpZz4sXG4gIC4uLmFyZ3M6IGFueVtdXG4pID0+IG5ldyBXaW5zdG9uTG9nZ2VyKGNvbnRleHQsIGNvbmYsIC4uLmFyZ3MpO1xuIl19
|
package/lib/winston/winston.d.ts
CHANGED
|
@@ -3,10 +3,49 @@ import Transport from "winston-transport";
|
|
|
3
3
|
import { Logger, LoggerFactory, LoggingConfig, StringLike } from "../types";
|
|
4
4
|
import { MiniLogger } from "../logging";
|
|
5
5
|
import { LogLevel } from "../constants";
|
|
6
|
+
/**
|
|
7
|
+
* @description A logger implementation using Winston
|
|
8
|
+
* @summary WinstonLogger extends MiniLogger to provide logging functionality using the Winston library.
|
|
9
|
+
* It configures Winston with appropriate transports and formats based on the logging configuration.
|
|
10
|
+
* @param {string} cont - The context (typically class name) this logger is associated with
|
|
11
|
+
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings
|
|
12
|
+
* @param {Transport[]|Transport} [transports] - Winston transports to use for logging
|
|
13
|
+
* @class WinstonLogger
|
|
14
|
+
* @example
|
|
15
|
+
* // Create a Winston logger for a class
|
|
16
|
+
* const logger = new WinstonLogger('MyClass');
|
|
17
|
+
*
|
|
18
|
+
* // Log messages at different levels
|
|
19
|
+
* logger.info('Application started');
|
|
20
|
+
* logger.error(new Error('Something went wrong'));
|
|
21
|
+
*
|
|
22
|
+
* // Create a child logger for a specific method
|
|
23
|
+
* const methodLogger = logger.for('myMethod');
|
|
24
|
+
* methodLogger.debug('Processing data...');
|
|
25
|
+
*/
|
|
6
26
|
export declare class WinstonLogger extends MiniLogger implements Logger {
|
|
7
27
|
protected transports?: (Transport[] | Transport) | undefined;
|
|
8
28
|
protected winston: winston.Logger;
|
|
9
29
|
constructor(cont: string, conf?: Partial<LoggingConfig>, transports?: (Transport[] | Transport) | undefined);
|
|
30
|
+
/**
|
|
31
|
+
* @description Logs a message with the specified log level using Winston
|
|
32
|
+
* @summary Overrides the base log method to use Winston for logging
|
|
33
|
+
* @param {LogLevel} level - The log level of the message
|
|
34
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object
|
|
35
|
+
* @param {string} [stack] - Optional stack trace to include in the log
|
|
36
|
+
* @return {void}
|
|
37
|
+
*/
|
|
10
38
|
protected log(level: LogLevel, msg: StringLike | Error, stack?: string): void;
|
|
11
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* @description Factory function for creating Winston loggers
|
|
42
|
+
* @summary A LoggerFactory implementation that creates WinstonLogger instances
|
|
43
|
+
* @const WinstonFactory
|
|
44
|
+
* @type {LoggerFactory}
|
|
45
|
+
* @param {string} context - The context (typically class name) for the logger
|
|
46
|
+
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings
|
|
47
|
+
* @param {...any} args - Additional arguments to pass to the WinstonLogger constructor
|
|
48
|
+
* @return {WinstonLogger} A new WinstonLogger instance
|
|
49
|
+
* @memberOf module:Logging
|
|
50
|
+
*/
|
|
12
51
|
export declare const WinstonFactory: LoggerFactory;
|