@decaf-ts/logging 0.10.0 → 0.10.2
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 +298 -171
- package/dist/logging.cjs +1 -1
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.js +1 -1
- package/dist/logging.js.map +1 -1
- package/lib/LoggedClass.cjs +4 -4
- package/lib/LoggedClass.d.ts +4 -4
- package/lib/constants.cjs +32 -63
- package/lib/constants.d.ts +32 -63
- package/lib/constants.js.map +1 -1
- package/lib/decorators.cjs +28 -28
- package/lib/decorators.d.ts +29 -36
- package/lib/decorators.js.map +1 -1
- package/lib/environment.cjs +34 -41
- package/lib/environment.d.ts +31 -32
- package/lib/environment.js.map +1 -1
- package/lib/esm/LoggedClass.d.ts +4 -4
- package/lib/esm/LoggedClass.js +4 -4
- package/lib/esm/constants.d.ts +32 -63
- package/lib/esm/constants.js +32 -63
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/decorators.d.ts +29 -36
- package/lib/esm/decorators.js +28 -28
- package/lib/esm/decorators.js.map +1 -1
- package/lib/esm/environment.d.ts +31 -32
- package/lib/esm/environment.js +34 -41
- package/lib/esm/environment.js.map +1 -1
- package/lib/esm/filters/LogFilter.d.ts +11 -11
- package/lib/esm/filters/LogFilter.js +5 -5
- package/lib/esm/filters/PatternFilter.d.ts +15 -15
- package/lib/esm/filters/PatternFilter.js +12 -12
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +3 -3
- package/lib/esm/logging.d.ts +119 -113
- package/lib/esm/logging.js +223 -138
- package/lib/esm/logging.js.map +1 -1
- package/lib/esm/pino/index.d.ts +6 -0
- package/lib/esm/pino/index.js +6 -0
- package/lib/esm/pino/index.js.map +1 -1
- package/lib/esm/pino/pino.d.ts +13 -5
- package/lib/esm/pino/pino.js +70 -124
- package/lib/esm/pino/pino.js.map +1 -1
- package/lib/esm/text.d.ts +29 -67
- package/lib/esm/text.js +29 -67
- package/lib/esm/text.js.map +1 -1
- package/lib/esm/time.d.ts +45 -43
- package/lib/esm/time.js +38 -36
- package/lib/esm/time.js.map +1 -1
- package/lib/esm/types.d.ts +59 -50
- package/lib/esm/utils.d.ts +43 -0
- package/lib/esm/utils.js +55 -3
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/web.d.ts +2 -2
- package/lib/esm/web.js +2 -2
- package/lib/esm/winston/index.d.ts +7 -0
- package/lib/esm/winston/index.js +7 -1
- package/lib/esm/winston/index.js.map +1 -1
- package/lib/esm/winston/winston.d.ts +17 -21
- package/lib/esm/winston/winston.js +29 -36
- package/lib/esm/winston/winston.js.map +1 -1
- package/lib/filters/LogFilter.cjs +5 -5
- package/lib/filters/LogFilter.d.ts +11 -11
- package/lib/filters/PatternFilter.cjs +12 -12
- package/lib/filters/PatternFilter.d.ts +15 -15
- package/lib/index.cjs +3 -3
- package/lib/index.d.ts +2 -2
- package/lib/logging.cjs +224 -139
- package/lib/logging.d.ts +119 -113
- package/lib/logging.js.map +1 -1
- package/lib/pino/index.cjs +6 -0
- package/lib/pino/index.d.ts +6 -0
- package/lib/pino/index.js.map +1 -1
- package/lib/pino/pino.cjs +102 -126
- package/lib/pino/pino.d.ts +13 -5
- package/lib/pino/pino.js.map +1 -1
- package/lib/text.cjs +29 -67
- package/lib/text.d.ts +29 -67
- package/lib/text.js.map +1 -1
- package/lib/time.cjs +38 -36
- package/lib/time.d.ts +45 -43
- package/lib/time.js.map +1 -1
- package/lib/types.d.ts +59 -50
- package/lib/utils.cjs +55 -3
- package/lib/utils.d.ts +43 -0
- package/lib/utils.js.map +1 -1
- package/lib/web.cjs +2 -2
- package/lib/web.d.ts +2 -2
- package/lib/winston/index.cjs +22 -0
- package/lib/winston/index.d.ts +7 -0
- package/lib/winston/index.js.map +1 -1
- package/lib/winston/winston.cjs +29 -36
- package/lib/winston/winston.d.ts +17 -21
- package/lib/winston/winston.js.map +1 -1
- package/package.json +9 -10
- package/lib/accumulate.types.cjs +0 -27
- package/lib/accumulate.types.d.ts +0 -1
- package/lib/accumulate.types.js.map +0 -1
- package/lib/esm/accumulate.types.d.ts +0 -1
- package/lib/esm/accumulate.types.js +0 -25
- package/lib/esm/accumulate.types.js.map +0 -1
package/lib/constants.cjs
CHANGED
|
@@ -2,32 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultLoggingConfig = exports.DefaultTheme = exports.LoggingMode = exports.NumericLogLevels = exports.LogLevel = exports.DefaultPlaceholderWrappers = exports.ENV_PATH_DELIMITER = exports.BrowserEnvKey = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* @description
|
|
6
|
-
* @summary
|
|
7
|
-
* @const BrowserEnvKey
|
|
8
|
-
* @type {string}
|
|
5
|
+
* @description The global key that is used to store environment variables in browser contexts.
|
|
6
|
+
* @summary This enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
|
|
7
|
+
* @const {string} BrowserEnvKey
|
|
9
8
|
* @memberOf module:Logging
|
|
10
9
|
*/
|
|
11
10
|
exports.BrowserEnvKey = "ENV";
|
|
12
11
|
/**
|
|
13
|
-
* @description
|
|
14
|
-
* @summary
|
|
15
|
-
* @const ENV_PATH_DELIMITER
|
|
16
|
-
* @type {string}
|
|
12
|
+
* @description The delimiter that is used for composing nested environment variable names.
|
|
13
|
+
* @summary This joins parent and child keys when mapping object paths to ENV strings.
|
|
14
|
+
* @const {string} ENV_PATH_DELIMITER
|
|
17
15
|
* @memberOf module:Logging
|
|
18
16
|
*/
|
|
19
17
|
exports.ENV_PATH_DELIMITER = "__";
|
|
20
18
|
/**
|
|
21
|
-
* @description
|
|
22
|
-
* @summary
|
|
23
|
-
* @const DefaultPlaceholderWrappers
|
|
24
|
-
* @type {string[]}
|
|
19
|
+
* @description The default prefix and suffix that are used for template placeholders.
|
|
20
|
+
* @summary This provides wrapper strings that are applied when interpolating messages with {@link patchPlaceholders}.
|
|
21
|
+
* @const {string[]} DefaultPlaceholderWrappers
|
|
25
22
|
* @memberOf module:Logging
|
|
26
23
|
*/
|
|
27
24
|
exports.DefaultPlaceholderWrappers = ["${", "}"];
|
|
28
25
|
/**
|
|
29
|
-
* @description
|
|
30
|
-
* @summary Defines different levels of logging for the application.
|
|
26
|
+
* @description An enum for log levels.
|
|
27
|
+
* @summary Defines the different levels of logging for the application.
|
|
31
28
|
* @enum {string}
|
|
32
29
|
* @readonly
|
|
33
30
|
* @memberOf module:Logging
|
|
@@ -52,22 +49,23 @@ var LogLevel;
|
|
|
52
49
|
LogLevel["silly"] = "silly";
|
|
53
50
|
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
54
51
|
/**
|
|
55
|
-
* @description
|
|
56
|
-
* @summary
|
|
57
|
-
* @typedef {
|
|
58
|
-
* @property {number} benchmark -
|
|
59
|
-
* @property {number} error -
|
|
60
|
-
* @property {number}
|
|
61
|
-
* @property {number}
|
|
62
|
-
* @property {number}
|
|
63
|
-
* @property {number}
|
|
52
|
+
* @description The numeric values that are associated with log levels.
|
|
53
|
+
* @summary This provides a numeric representation of log levels for comparison and filtering.
|
|
54
|
+
* @typedef {object} NumericLogLevelsShape
|
|
55
|
+
* @property {number} benchmark - The numeric value for the benchmark level (0).
|
|
56
|
+
* @property {number} error - The numeric value for the error level (3).
|
|
57
|
+
* @property {number} warn - The numeric value for the warn level (6).
|
|
58
|
+
* @property {number} info - The numeric value for the info level (9).
|
|
59
|
+
* @property {number} verbose - The numeric value for the verbose level (12).
|
|
60
|
+
* @property {number} debug - The numeric value for the debug level (15).
|
|
61
|
+
* @property {number} trace - The numeric value for the trace level (18).
|
|
62
|
+
* @property {number} silly - The numeric value for the silly level (21).
|
|
64
63
|
* @memberOf module:Logging
|
|
65
64
|
*/
|
|
66
65
|
/**
|
|
67
|
-
* @description
|
|
68
|
-
* @summary
|
|
69
|
-
* @const NumericLogLevels
|
|
70
|
-
* @type {NumericLogLevelsShape}
|
|
66
|
+
* @description The numeric values that are associated with log levels.
|
|
67
|
+
* @summary This provides a numeric representation of log levels for comparison and filtering.
|
|
68
|
+
* @const {NumericLogLevelsShape} NumericLogLevels
|
|
71
69
|
* @memberOf module:Logging
|
|
72
70
|
*/
|
|
73
71
|
exports.NumericLogLevels = {
|
|
@@ -81,9 +79,10 @@ exports.NumericLogLevels = {
|
|
|
81
79
|
silly: 21,
|
|
82
80
|
};
|
|
83
81
|
/**
|
|
84
|
-
* @description
|
|
85
|
-
* @summary Defines different output formats for log messages.
|
|
82
|
+
* @description An enum for logging output modes.
|
|
83
|
+
* @summary Defines the different output formats for log messages.
|
|
86
84
|
* @enum {string}
|
|
85
|
+
* @readonly
|
|
87
86
|
* @memberOf module:Logging
|
|
88
87
|
*/
|
|
89
88
|
var LoggingMode;
|
|
@@ -94,28 +93,9 @@ var LoggingMode;
|
|
|
94
93
|
LoggingMode["JSON"] = "json";
|
|
95
94
|
})(LoggingMode || (exports.LoggingMode = LoggingMode = {}));
|
|
96
95
|
/**
|
|
97
|
-
* @description
|
|
96
|
+
* @description The default theme for styling log output.
|
|
98
97
|
* @summary Defines the default color and style settings for various components of log messages.
|
|
99
|
-
* @
|
|
100
|
-
* @property {Object} class - Styling for class names.
|
|
101
|
-
* @property {number} class.fg - Foreground color code for class names (34).
|
|
102
|
-
* @property {Object} id - Styling for identifiers.
|
|
103
|
-
* @property {number} id.fg - Foreground color code for identifiers (36).
|
|
104
|
-
* @property {Object} stack - Styling for stack traces (empty object).
|
|
105
|
-
* @property {Object} timestamp - Styling for timestamps (empty object).
|
|
106
|
-
* @property {Object} message - Styling for different types of messages.
|
|
107
|
-
* @property {Object} message.error - Styling for error messages.
|
|
108
|
-
* @property {number} message.error.fg - Foreground color code for error messages (31).
|
|
109
|
-
* @property {Object} method - Styling for method names (empty object).
|
|
110
|
-
* @property {Object} logLevel - Styling for different log levels.
|
|
111
|
-
* @property {Object} logLevel.error - Styling for error level logs.
|
|
112
|
-
* @property {number} logLevel.error.fg - Foreground color code for error level logs (31).
|
|
113
|
-
* @property {string[]} logLevel.error.style - Style attributes for error level logs (["bold"]).
|
|
114
|
-
* @property {Object} logLevel.info - Styling for info level logs (empty object).
|
|
115
|
-
* @property {Object} logLevel.verbose - Styling for verbose level logs (empty object).
|
|
116
|
-
* @property {Object} logLevel.debug - Styling for debug level logs.
|
|
117
|
-
* @property {number} logLevel.debug.fg - Foreground color code for debug level logs (33).
|
|
118
|
-
* @const DefaultTheme
|
|
98
|
+
* @const {Theme} DefaultTheme
|
|
119
99
|
* @memberOf module:Logging
|
|
120
100
|
*/
|
|
121
101
|
exports.DefaultTheme = {
|
|
@@ -167,20 +147,9 @@ exports.DefaultTheme = {
|
|
|
167
147
|
},
|
|
168
148
|
};
|
|
169
149
|
/**
|
|
170
|
-
* @description
|
|
150
|
+
* @description The default configuration for logging.
|
|
171
151
|
* @summary Defines the default settings for the logging system, including verbosity, log level, styling, and timestamp format.
|
|
172
|
-
* @const DefaultLoggingConfig
|
|
173
|
-
* @typedef {LoggingConfig} DefaultLoggingConfig
|
|
174
|
-
* @property {number} verbose - Verbosity level (0).
|
|
175
|
-
* @property {LogLevel} level - Default log level (LogLevel.info).
|
|
176
|
-
* @property {boolean} logLevel - Whether to display log level in output (true).
|
|
177
|
-
* @property {LoggingMode} mode - Output format mode (LoggingMode.RAW).
|
|
178
|
-
* @property {boolean} style - Whether to apply styling to log output (false).
|
|
179
|
-
* @property {string} separator - Separator between log components (" - ").
|
|
180
|
-
* @property {boolean} timestamp - Whether to include timestamps in log messages (true).
|
|
181
|
-
* @property {string} timestampFormat - Format for timestamps ("HH:mm:ss.SSS").
|
|
182
|
-
* @property {boolean} context - Whether to include context information in log messages (true).
|
|
183
|
-
* @property {Theme} theme - The theme to use for styling log messages (DefaultTheme).
|
|
152
|
+
* @const {LoggingConfig} DefaultLoggingConfig
|
|
184
153
|
* @memberOf module:Logging
|
|
185
154
|
*/
|
|
186
155
|
exports.DefaultLoggingConfig = {
|
package/lib/constants.d.ts
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import { LoggingConfig, Theme } from "./types";
|
|
2
2
|
/**
|
|
3
|
-
* @description
|
|
4
|
-
* @summary
|
|
5
|
-
* @const BrowserEnvKey
|
|
6
|
-
* @type {string}
|
|
3
|
+
* @description The global key that is used to store environment variables in browser contexts.
|
|
4
|
+
* @summary This enables the logging environment helpers to locate serialized environment configuration on `globalThis`.
|
|
5
|
+
* @const {string} BrowserEnvKey
|
|
7
6
|
* @memberOf module:Logging
|
|
8
7
|
*/
|
|
9
8
|
export declare const BrowserEnvKey = "ENV";
|
|
10
9
|
/**
|
|
11
|
-
* @description
|
|
12
|
-
* @summary
|
|
13
|
-
* @const ENV_PATH_DELIMITER
|
|
14
|
-
* @type {string}
|
|
10
|
+
* @description The delimiter that is used for composing nested environment variable names.
|
|
11
|
+
* @summary This joins parent and child keys when mapping object paths to ENV strings.
|
|
12
|
+
* @const {string} ENV_PATH_DELIMITER
|
|
15
13
|
* @memberOf module:Logging
|
|
16
14
|
*/
|
|
17
15
|
export declare const ENV_PATH_DELIMITER = "__";
|
|
18
16
|
/**
|
|
19
|
-
* @description
|
|
20
|
-
* @summary
|
|
21
|
-
* @const DefaultPlaceholderWrappers
|
|
22
|
-
* @type {string[]}
|
|
17
|
+
* @description The default prefix and suffix that are used for template placeholders.
|
|
18
|
+
* @summary This provides wrapper strings that are applied when interpolating messages with {@link patchPlaceholders}.
|
|
19
|
+
* @const {string[]} DefaultPlaceholderWrappers
|
|
23
20
|
* @memberOf module:Logging
|
|
24
21
|
*/
|
|
25
22
|
export declare const DefaultPlaceholderWrappers: string[];
|
|
26
23
|
/**
|
|
27
|
-
* @description
|
|
28
|
-
* @summary Defines different levels of logging for the application.
|
|
24
|
+
* @description An enum for log levels.
|
|
25
|
+
* @summary Defines the different levels of logging for the application.
|
|
29
26
|
* @enum {string}
|
|
30
27
|
* @readonly
|
|
31
28
|
* @memberOf module:Logging
|
|
@@ -49,22 +46,23 @@ export declare enum LogLevel {
|
|
|
49
46
|
silly = "silly"
|
|
50
47
|
}
|
|
51
48
|
/**
|
|
52
|
-
* @description
|
|
53
|
-
* @summary
|
|
54
|
-
* @typedef {
|
|
55
|
-
* @property {number} benchmark -
|
|
56
|
-
* @property {number} error -
|
|
57
|
-
* @property {number}
|
|
58
|
-
* @property {number}
|
|
59
|
-
* @property {number}
|
|
60
|
-
* @property {number}
|
|
49
|
+
* @description The numeric values that are associated with log levels.
|
|
50
|
+
* @summary This provides a numeric representation of log levels for comparison and filtering.
|
|
51
|
+
* @typedef {object} NumericLogLevelsShape
|
|
52
|
+
* @property {number} benchmark - The numeric value for the benchmark level (0).
|
|
53
|
+
* @property {number} error - The numeric value for the error level (3).
|
|
54
|
+
* @property {number} warn - The numeric value for the warn level (6).
|
|
55
|
+
* @property {number} info - The numeric value for the info level (9).
|
|
56
|
+
* @property {number} verbose - The numeric value for the verbose level (12).
|
|
57
|
+
* @property {number} debug - The numeric value for the debug level (15).
|
|
58
|
+
* @property {number} trace - The numeric value for the trace level (18).
|
|
59
|
+
* @property {number} silly - The numeric value for the silly level (21).
|
|
61
60
|
* @memberOf module:Logging
|
|
62
61
|
*/
|
|
63
62
|
/**
|
|
64
|
-
* @description
|
|
65
|
-
* @summary
|
|
66
|
-
* @const NumericLogLevels
|
|
67
|
-
* @type {NumericLogLevelsShape}
|
|
63
|
+
* @description The numeric values that are associated with log levels.
|
|
64
|
+
* @summary This provides a numeric representation of log levels for comparison and filtering.
|
|
65
|
+
* @const {NumericLogLevelsShape} NumericLogLevels
|
|
68
66
|
* @memberOf module:Logging
|
|
69
67
|
*/
|
|
70
68
|
export declare const NumericLogLevels: {
|
|
@@ -78,9 +76,10 @@ export declare const NumericLogLevels: {
|
|
|
78
76
|
silly: number;
|
|
79
77
|
};
|
|
80
78
|
/**
|
|
81
|
-
* @description
|
|
82
|
-
* @summary Defines different output formats for log messages.
|
|
79
|
+
* @description An enum for logging output modes.
|
|
80
|
+
* @summary Defines the different output formats for log messages.
|
|
83
81
|
* @enum {string}
|
|
82
|
+
* @readonly
|
|
84
83
|
* @memberOf module:Logging
|
|
85
84
|
*/
|
|
86
85
|
export declare enum LoggingMode {
|
|
@@ -90,46 +89,16 @@ export declare enum LoggingMode {
|
|
|
90
89
|
JSON = "json"
|
|
91
90
|
}
|
|
92
91
|
/**
|
|
93
|
-
* @description
|
|
92
|
+
* @description The default theme for styling log output.
|
|
94
93
|
* @summary Defines the default color and style settings for various components of log messages.
|
|
95
|
-
* @
|
|
96
|
-
* @property {Object} class - Styling for class names.
|
|
97
|
-
* @property {number} class.fg - Foreground color code for class names (34).
|
|
98
|
-
* @property {Object} id - Styling for identifiers.
|
|
99
|
-
* @property {number} id.fg - Foreground color code for identifiers (36).
|
|
100
|
-
* @property {Object} stack - Styling for stack traces (empty object).
|
|
101
|
-
* @property {Object} timestamp - Styling for timestamps (empty object).
|
|
102
|
-
* @property {Object} message - Styling for different types of messages.
|
|
103
|
-
* @property {Object} message.error - Styling for error messages.
|
|
104
|
-
* @property {number} message.error.fg - Foreground color code for error messages (31).
|
|
105
|
-
* @property {Object} method - Styling for method names (empty object).
|
|
106
|
-
* @property {Object} logLevel - Styling for different log levels.
|
|
107
|
-
* @property {Object} logLevel.error - Styling for error level logs.
|
|
108
|
-
* @property {number} logLevel.error.fg - Foreground color code for error level logs (31).
|
|
109
|
-
* @property {string[]} logLevel.error.style - Style attributes for error level logs (["bold"]).
|
|
110
|
-
* @property {Object} logLevel.info - Styling for info level logs (empty object).
|
|
111
|
-
* @property {Object} logLevel.verbose - Styling for verbose level logs (empty object).
|
|
112
|
-
* @property {Object} logLevel.debug - Styling for debug level logs.
|
|
113
|
-
* @property {number} logLevel.debug.fg - Foreground color code for debug level logs (33).
|
|
114
|
-
* @const DefaultTheme
|
|
94
|
+
* @const {Theme} DefaultTheme
|
|
115
95
|
* @memberOf module:Logging
|
|
116
96
|
*/
|
|
117
97
|
export declare const DefaultTheme: Theme;
|
|
118
98
|
/**
|
|
119
|
-
* @description
|
|
99
|
+
* @description The default configuration for logging.
|
|
120
100
|
* @summary Defines the default settings for the logging system, including verbosity, log level, styling, and timestamp format.
|
|
121
|
-
* @const DefaultLoggingConfig
|
|
122
|
-
* @typedef {LoggingConfig} DefaultLoggingConfig
|
|
123
|
-
* @property {number} verbose - Verbosity level (0).
|
|
124
|
-
* @property {LogLevel} level - Default log level (LogLevel.info).
|
|
125
|
-
* @property {boolean} logLevel - Whether to display log level in output (true).
|
|
126
|
-
* @property {LoggingMode} mode - Output format mode (LoggingMode.RAW).
|
|
127
|
-
* @property {boolean} style - Whether to apply styling to log output (false).
|
|
128
|
-
* @property {string} separator - Separator between log components (" - ").
|
|
129
|
-
* @property {boolean} timestamp - Whether to include timestamps in log messages (true).
|
|
130
|
-
* @property {string} timestampFormat - Format for timestamps ("HH:mm:ss.SSS").
|
|
131
|
-
* @property {boolean} context - Whether to include context information in log messages (true).
|
|
132
|
-
* @property {Theme} theme - The theme to use for styling log messages (DefaultTheme).
|
|
101
|
+
* @const {LoggingConfig} DefaultLoggingConfig
|
|
133
102
|
* @memberOf module:Logging
|
|
134
103
|
*/
|
|
135
104
|
export declare const DefaultLoggingConfig: LoggingConfig;
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACU,QAAA,aAAa,GAAG,KAAK,CAAC;AAEnC;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAEvC;;;;;GAKG;AACU,QAAA,0BAA0B,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,IAAY,QAiBX;AAjBD,WAAY,QAAQ;IAClB,sEAAsE;IACtE,mCAAuB,CAAA;IACvB,4EAA4E;IAC5E,2BAAe,CAAA;IACf,4DAA4D;IAC5D,yBAAa,CAAA;IACb,qEAAqE;IACrE,yBAAa,CAAA;IACb,wEAAwE;IACxE,+BAAmB,CAAA;IACnB,+DAA+D;IAC/D,2BAAe,CAAA;IACf,qDAAqD;IACrD,2BAAe,CAAA;IACf,4DAA4D;IAC5D,2BAAe,CAAA;AACjB,CAAC,EAjBW,QAAQ,wBAAR,QAAQ,QAiBnB;AAED;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACU,QAAA,gBAAgB,GAAG;IAC9B,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;CACV,CAAC;AAEF;;;;;;GAMG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,4CAA4C;IAC5C,0BAAW,CAAA;IACX,sCAAsC;IACtC,4BAAa,CAAA;AACf,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED;;;;;GAKG;AACU,QAAA,YAAY,GAAU;IACjC,GAAG,EAAE,EAAE;IACP,SAAS,EAAE,EAAE;IACb,KAAK,EAAE;QACL,EAAE,EAAE,EAAE;KACP;IACD,EAAE,EAAE;QACF,EAAE,EAAE,EAAE;KACP;IACD,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,OAAO,EAAE;QACP,KAAK,EAAE;YACL,EAAE,EAAE,EAAE;SACP;KACF;IACD,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,OAAO,EAAE;YACP,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,CAAC,MAAM,CAAC;SAChB;KACF;CACF,CAAC;AAEF;;;;;GAKG;AACU,QAAA,oBAAoB,GAAkB;IACjD,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,QAAQ,CAAC,IAAI;IACpB,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,KAAK;IACZ,gBAAgB,EAAE,GAAG;IACrB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,IAAI;IACf,eAAe,EAAE,cAAc;IAC/B,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,WAAW,CAAC,GAAG;IACvB,OAAO,EACL,qEAAqE;IACvE,KAAK,EAAE,oBAAY;CACpB,CAAC"}
|
package/lib/decorators.cjs
CHANGED
|
@@ -13,13 +13,13 @@ const logging_1 = require("./logging.cjs");
|
|
|
13
13
|
const time_1 = require("./time.cjs");
|
|
14
14
|
const LoggedClass_1 = require("./LoggedClass.cjs");
|
|
15
15
|
/**
|
|
16
|
-
* @description
|
|
17
|
-
* @summary
|
|
18
|
-
* @param {LogLevel} level -
|
|
19
|
-
* @param {number} [verbosity=0] -
|
|
20
|
-
* @param {ArgFormatFunction} [entryMessage] -
|
|
21
|
-
* @param {ReturnFormatFunction} [exitMessage] -
|
|
22
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
16
|
+
* @description A method decorator for logging function calls.
|
|
17
|
+
* @summary This decorator wraps a class method to automatically log entry, exit, timing, and optional custom messages at a configurable {@link LogLevel}.
|
|
18
|
+
* @param {LogLevel} [level=LogLevel.info] - The log level to apply to the generated log statements.
|
|
19
|
+
* @param {number} [verbosity=0] - The verbosity threshold that is required for the entry log to appear.
|
|
20
|
+
* @param {ArgFormatFunction} [entryMessage] - A formatter that is invoked with the original method arguments to describe the invocation.
|
|
21
|
+
* @param {ReturnFormatFunction} [exitMessage] - An optional formatter that describes the outcome or failure of the call.
|
|
22
|
+
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that injects logging behavior.
|
|
23
23
|
* @function log
|
|
24
24
|
* @mermaid
|
|
25
25
|
* sequenceDiagram
|
|
@@ -86,9 +86,9 @@ function log(level = constants_1.LogLevel.info, verbosity = 0, entryMessage = (.
|
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
* @description
|
|
90
|
-
* @summary
|
|
91
|
-
* @return {function(any, any,
|
|
89
|
+
* @description A method decorator that records execution time at the benchmark level.
|
|
90
|
+
* @summary This decorator wraps the target method to emit {@link Logger.benchmark} entries that capture completion time or failure latency.
|
|
91
|
+
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that benchmarks the original implementation.
|
|
92
92
|
* @function benchmark
|
|
93
93
|
* @mermaid
|
|
94
94
|
* sequenceDiagram
|
|
@@ -145,9 +145,9 @@ function benchmark() {
|
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
148
|
-
* @description
|
|
149
|
-
* @summary
|
|
150
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
148
|
+
* @description A method decorator for logging function calls with the debug level.
|
|
149
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.debug`.
|
|
150
|
+
* @return {function(any, any, PropertyDescriptor): void} A debug-level logging decorator.
|
|
151
151
|
* @function debug
|
|
152
152
|
* @category Method Decorators
|
|
153
153
|
*/
|
|
@@ -159,9 +159,9 @@ function debug() {
|
|
|
159
159
|
: "completed");
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
|
-
* @description
|
|
163
|
-
* @summary
|
|
164
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
162
|
+
* @description A method decorator for logging function calls with the info level.
|
|
163
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.info`.
|
|
164
|
+
* @return {function(any, any, PropertyDescriptor): void} An info-level logging decorator.
|
|
165
165
|
* @function info
|
|
166
166
|
* @category Method Decorators
|
|
167
167
|
*/
|
|
@@ -169,9 +169,9 @@ function info() {
|
|
|
169
169
|
return log(constants_1.LogLevel.info);
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
|
-
* @description
|
|
173
|
-
* @summary
|
|
174
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
172
|
+
* @description A method decorator for logging function calls with the silly level.
|
|
173
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.silly`.
|
|
174
|
+
* @return {function(any, any, PropertyDescriptor): void} A silly-level logging decorator.
|
|
175
175
|
* @function silly
|
|
176
176
|
* @category Method Decorators
|
|
177
177
|
*/
|
|
@@ -179,9 +179,9 @@ function silly() {
|
|
|
179
179
|
return log(constants_1.LogLevel.silly);
|
|
180
180
|
}
|
|
181
181
|
/**
|
|
182
|
-
* @description
|
|
183
|
-
* @summary
|
|
184
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
182
|
+
* @description A method decorator for logging function calls with the trace level.
|
|
183
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.trace`.
|
|
184
|
+
* @return {function(any, any, PropertyDescriptor): void} A trace-level logging decorator.
|
|
185
185
|
* @function trace
|
|
186
186
|
* @category Method Decorators
|
|
187
187
|
*/
|
|
@@ -189,10 +189,10 @@ function trace() {
|
|
|
189
189
|
return log(constants_1.LogLevel.trace);
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
192
|
-
* @description
|
|
193
|
-
* @summary
|
|
194
|
-
* @param {number|boolean} verbosity -
|
|
195
|
-
* @return {function(any, any,PropertyDescriptor): void}
|
|
192
|
+
* @description A method decorator for logging function calls with the verbose level.
|
|
193
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.verbose` with a configurable verbosity.
|
|
194
|
+
* @param {(number|boolean)} [verbosity=0] - The verbosity level for log filtering or a flag to enable benchmarking.
|
|
195
|
+
* @return {function(any, any, PropertyDescriptor): void} A verbose logging decorator.
|
|
196
196
|
* @function verbose
|
|
197
197
|
* @category Method Decorators
|
|
198
198
|
*/
|
|
@@ -204,8 +204,8 @@ function verbose(verbosity = 0) {
|
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
206
|
* @description Creates a decorator that makes a method non-configurable.
|
|
207
|
-
* @summary
|
|
208
|
-
* @return {function(object, any, PropertyDescriptor): PropertyDescriptor|undefined}
|
|
207
|
+
* @summary This decorator prevents overriding by marking the method descriptor as non-configurable. It will throw an error if it is applied to non-method targets.
|
|
208
|
+
* @return {function(object, any, PropertyDescriptor): (PropertyDescriptor|undefined)} A decorator that hardens the method descriptor.
|
|
209
209
|
* @function final
|
|
210
210
|
* @category Method Decorators
|
|
211
211
|
*/
|
package/lib/decorators.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import { LogLevel } from "./constants";
|
|
|
2
2
|
export type ArgFormatFunction = (...args: any[]) => string;
|
|
3
3
|
export type ReturnFormatFunction = (e?: Error, result?: any) => string;
|
|
4
4
|
/**
|
|
5
|
-
* @description
|
|
6
|
-
* @summary
|
|
7
|
-
* @param {LogLevel} level -
|
|
8
|
-
* @param {number} [verbosity=0] -
|
|
9
|
-
* @param {ArgFormatFunction} [entryMessage] -
|
|
10
|
-
* @param {ReturnFormatFunction} [exitMessage] -
|
|
11
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
5
|
+
* @description A method decorator for logging function calls.
|
|
6
|
+
* @summary This decorator wraps a class method to automatically log entry, exit, timing, and optional custom messages at a configurable {@link LogLevel}.
|
|
7
|
+
* @param {LogLevel} [level=LogLevel.info] - The log level to apply to the generated log statements.
|
|
8
|
+
* @param {number} [verbosity=0] - The verbosity threshold that is required for the entry log to appear.
|
|
9
|
+
* @param {ArgFormatFunction} [entryMessage] - A formatter that is invoked with the original method arguments to describe the invocation.
|
|
10
|
+
* @param {ReturnFormatFunction} [exitMessage] - An optional formatter that describes the outcome or failure of the call.
|
|
11
|
+
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that injects logging behavior.
|
|
12
12
|
* @function log
|
|
13
13
|
* @mermaid
|
|
14
14
|
* sequenceDiagram
|
|
@@ -35,9 +35,9 @@ export type ReturnFormatFunction = (e?: Error, result?: any) => string;
|
|
|
35
35
|
*/
|
|
36
36
|
export declare function log(level?: LogLevel, verbosity?: number, entryMessage?: ArgFormatFunction, exitMessage?: ReturnFormatFunction): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
37
37
|
/**
|
|
38
|
-
* @description
|
|
39
|
-
* @summary
|
|
40
|
-
* @return {function(any, any,
|
|
38
|
+
* @description A method decorator that records execution time at the benchmark level.
|
|
39
|
+
* @summary This decorator wraps the target method to emit {@link Logger.benchmark} entries that capture completion time or failure latency.
|
|
40
|
+
* @return {function(any, any, PropertyDescriptor): void} A method decorator proxy that benchmarks the original implementation.
|
|
41
41
|
* @function benchmark
|
|
42
42
|
* @mermaid
|
|
43
43
|
* sequenceDiagram
|
|
@@ -59,57 +59,50 @@ export declare function log(level?: LogLevel, verbosity?: number, entryMessage?:
|
|
|
59
59
|
*/
|
|
60
60
|
export declare function benchmark(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
61
61
|
/**
|
|
62
|
-
* @description
|
|
63
|
-
* @summary
|
|
64
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
62
|
+
* @description A method decorator for logging function calls with the debug level.
|
|
63
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.debug`.
|
|
64
|
+
* @return {function(any, any, PropertyDescriptor): void} A debug-level logging decorator.
|
|
65
65
|
* @function debug
|
|
66
66
|
* @category Method Decorators
|
|
67
67
|
*/
|
|
68
68
|
export declare function debug(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
69
69
|
/**
|
|
70
|
-
* @description
|
|
71
|
-
* @summary
|
|
72
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
70
|
+
* @description A method decorator for logging function calls with the info level.
|
|
71
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.info`.
|
|
72
|
+
* @return {function(any, any, PropertyDescriptor): void} An info-level logging decorator.
|
|
73
73
|
* @function info
|
|
74
74
|
* @category Method Decorators
|
|
75
75
|
*/
|
|
76
76
|
export declare function info(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
77
77
|
/**
|
|
78
|
-
* @description
|
|
79
|
-
* @summary
|
|
80
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
78
|
+
* @description A method decorator for logging function calls with the silly level.
|
|
79
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.silly`.
|
|
80
|
+
* @return {function(any, any, PropertyDescriptor): void} A silly-level logging decorator.
|
|
81
81
|
* @function silly
|
|
82
82
|
* @category Method Decorators
|
|
83
83
|
*/
|
|
84
84
|
export declare function silly(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
85
85
|
/**
|
|
86
|
-
* @description
|
|
87
|
-
* @summary
|
|
88
|
-
* @return {function(any, any, PropertyDescriptor): void}
|
|
86
|
+
* @description A method decorator for logging function calls with the trace level.
|
|
87
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.trace`.
|
|
88
|
+
* @return {function(any, any, PropertyDescriptor): void} A trace-level logging decorator.
|
|
89
89
|
* @function trace
|
|
90
90
|
* @category Method Decorators
|
|
91
91
|
*/
|
|
92
92
|
export declare function trace(): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
93
93
|
/**
|
|
94
|
-
* @description
|
|
95
|
-
* @summary
|
|
96
|
-
* @
|
|
94
|
+
* @description A method decorator for logging function calls with the verbose level.
|
|
95
|
+
* @summary This is a convenience wrapper around {@link log} that logs using `LogLevel.verbose` with a configurable verbosity.
|
|
96
|
+
* @param {(number|boolean)} [verbosity=0] - The verbosity level for log filtering or a flag to enable benchmarking.
|
|
97
|
+
* @return {function(any, any, PropertyDescriptor): void} A verbose logging decorator.
|
|
97
98
|
* @function verbose
|
|
98
99
|
* @category Method Decorators
|
|
99
100
|
*/
|
|
100
|
-
export declare function verbose(): (target: any, propertyKey?: any, descriptor?: any) =>
|
|
101
|
-
/**
|
|
102
|
-
* @description Method decorator for logging function calls with verbose level.
|
|
103
|
-
* @summary Convenience wrapper around {@link log} that logs using `LogLevel.verbose` while toggling benchmarking.
|
|
104
|
-
* @return {function(any, PropertyDescriptor): void} Verbose logging decorator.
|
|
105
|
-
* @function verbose
|
|
106
|
-
* @category Method Decorators
|
|
107
|
-
*/
|
|
108
|
-
export declare function verbose(): (target: any, propertyKey?: any, descriptor?: any) => void;
|
|
101
|
+
export declare function verbose(verbosity?: number | boolean): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
109
102
|
/**
|
|
110
103
|
* @description Creates a decorator that makes a method non-configurable.
|
|
111
|
-
* @summary
|
|
112
|
-
* @return {function(object, any, PropertyDescriptor): PropertyDescriptor|undefined}
|
|
104
|
+
* @summary This decorator prevents overriding by marking the method descriptor as non-configurable. It will throw an error if it is applied to non-method targets.
|
|
105
|
+
* @return {function(object, any, PropertyDescriptor): (PropertyDescriptor|undefined)} A decorator that hardens the method descriptor.
|
|
113
106
|
* @function final
|
|
114
107
|
* @category Method Decorators
|
|
115
108
|
*/
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;AAyCA,kBA0CC;AAyBD,8BAqCC;AASD,sBAYC;AASD,oBAEC;AASD,sBAEC;AASD,sBAEC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|