@sjts/lib-log 31.1.1 → 31.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Logger.d.ts +5 -5
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +61 -50
- package/dist/_/Logger.test.d.ts +1 -1
- package/dist/_/Logger.test.d.ts.map +1 -1
- package/dist/_/Logger.test.js +12 -5
- package/package.json +4 -2
package/dist/Logger.d.ts
CHANGED
|
@@ -7,17 +7,17 @@ export declare class Logger {
|
|
|
7
7
|
static magenta: string;
|
|
8
8
|
static cyan: string;
|
|
9
9
|
static reset: string;
|
|
10
|
-
static bold: string;
|
|
11
|
-
static dim: string;
|
|
12
|
-
static italic: string;
|
|
13
|
-
static underline: string;
|
|
14
|
-
static strikethrough: string;
|
|
15
10
|
static bgRed: string;
|
|
16
11
|
static bgGreen: string;
|
|
17
12
|
static bgYellow: string;
|
|
18
13
|
static bgBlue: string;
|
|
19
14
|
static bgMagenta: string;
|
|
20
15
|
static bgCyan: string;
|
|
16
|
+
static bold: string;
|
|
17
|
+
static dim: string;
|
|
18
|
+
static italic: string;
|
|
19
|
+
static underline: string;
|
|
20
|
+
static strikethrough: string;
|
|
21
21
|
static lastLogTimestamp: number;
|
|
22
22
|
private static _indent;
|
|
23
23
|
private level;
|
package/dist/Logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
|
package/dist/Logger.js
CHANGED
|
@@ -1,25 +1,43 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
2
|
import { LoggerLevel } from './LoggerLevel.js';
|
|
3
3
|
const { DEBUG, INFO, SYSTEM, WARN, ERROR, THROW, KILL } = LoggerLevel;
|
|
4
|
+
const red = '\x1b[31m';
|
|
5
|
+
const green = '\x1b[32m';
|
|
6
|
+
const yellow = '\x1b[33m';
|
|
7
|
+
const blue = '\x1b[34m';
|
|
8
|
+
const magenta = '\x1b[35m';
|
|
9
|
+
const cyan = '\x1b[36m';
|
|
10
|
+
const reset = '\x1b[0m';
|
|
11
|
+
const bold = '\x1b[1m';
|
|
12
|
+
const dim = '\x1b[2m';
|
|
13
|
+
const italic = '\x1b[3m';
|
|
14
|
+
const underline = '\x1b[4m';
|
|
15
|
+
const strikethrough = '\x1b[9m';
|
|
16
|
+
const bgRed = '\x1b[41m';
|
|
17
|
+
const bgGreen = '\x1b[42m';
|
|
18
|
+
const bgYellow = '\x1b[43m';
|
|
19
|
+
const bgBlue = '\x1b[44m';
|
|
20
|
+
const bgMagenta = '\x1b[45m';
|
|
21
|
+
const bgCyan = '\x1b[46m';
|
|
4
22
|
export class Logger {
|
|
5
|
-
static red =
|
|
6
|
-
static green =
|
|
7
|
-
static yellow =
|
|
8
|
-
static blue =
|
|
9
|
-
static magenta =
|
|
10
|
-
static cyan =
|
|
11
|
-
static reset =
|
|
12
|
-
static
|
|
13
|
-
static
|
|
14
|
-
static
|
|
15
|
-
static
|
|
16
|
-
static
|
|
17
|
-
static
|
|
18
|
-
static
|
|
19
|
-
static
|
|
20
|
-
static
|
|
21
|
-
static
|
|
22
|
-
static
|
|
23
|
+
static red = red;
|
|
24
|
+
static green = green;
|
|
25
|
+
static yellow = yellow;
|
|
26
|
+
static blue = blue;
|
|
27
|
+
static magenta = magenta;
|
|
28
|
+
static cyan = cyan;
|
|
29
|
+
static reset = reset;
|
|
30
|
+
static bgRed = bgRed;
|
|
31
|
+
static bgGreen = bgGreen;
|
|
32
|
+
static bgYellow = bgYellow;
|
|
33
|
+
static bgBlue = bgBlue;
|
|
34
|
+
static bgMagenta = bgMagenta;
|
|
35
|
+
static bgCyan = bgCyan;
|
|
36
|
+
static bold = bold;
|
|
37
|
+
static dim = dim;
|
|
38
|
+
static italic = italic;
|
|
39
|
+
static underline = underline;
|
|
40
|
+
static strikethrough = strikethrough;
|
|
23
41
|
static lastLogTimestamp = 0;
|
|
24
42
|
static _indent = 0;
|
|
25
43
|
level = [INFO, WARN, ERROR, THROW, KILL];
|
|
@@ -61,19 +79,9 @@ export class Logger {
|
|
|
61
79
|
static setSystemTags(tags) {
|
|
62
80
|
this.instance.setSystemTags(tags);
|
|
63
81
|
}
|
|
64
|
-
shout = (message, data) => Logger.info(
|
|
65
|
-
Logger.bold +
|
|
66
|
-
'--------------\n' +
|
|
67
|
-
message +
|
|
68
|
-
'\n--------------' +
|
|
69
|
-
Logger.reset, data);
|
|
82
|
+
shout = (message, data) => Logger.info(green + bold + '--------------\n' + message + '\n--------------' + reset, data);
|
|
70
83
|
static shout(message, data) {
|
|
71
|
-
this.info(
|
|
72
|
-
Logger.bold +
|
|
73
|
-
'--------------\n' +
|
|
74
|
-
message +
|
|
75
|
-
'\n--------------' +
|
|
76
|
-
Logger.reset, data);
|
|
84
|
+
this.info(green + bold + '--------------\n' + message + '\n--------------' + reset, data);
|
|
77
85
|
}
|
|
78
86
|
debug = (message, data) => Logger.debug(message, data);
|
|
79
87
|
static debug(message, data) {
|
|
@@ -94,46 +102,41 @@ export class Logger {
|
|
|
94
102
|
system = (tag, message, data) => Logger.info(message, data);
|
|
95
103
|
static system(tag, message, data) {
|
|
96
104
|
Logger.initProfiles();
|
|
97
|
-
const msg = Logger.indentMessage(message);
|
|
98
|
-
const formattedMessage = `${Logger.magenta}${msg}${Logger.reset}`;
|
|
105
|
+
const msg = Logger.indentMessage(`${magenta}${italic}${tag}${reset}: ${message}${reset}`);
|
|
99
106
|
if (this.instance.level.includes(SYSTEM) && this.instance.systemTags.includes(tag))
|
|
100
|
-
this.instance.c.log(...(data ? [
|
|
107
|
+
this.instance.c.log(...(data ? [msg, data] : [msg]));
|
|
101
108
|
this.lastLogTimestamp = DateTime.now().toMillis();
|
|
102
109
|
}
|
|
103
110
|
warn = (message, data) => Logger.warn(message, data);
|
|
104
111
|
static warn(message, data) {
|
|
105
112
|
Logger.initProfiles();
|
|
106
|
-
const msg = Logger.indentMessage(message);
|
|
107
|
-
const formattedMessage = `${Logger.yellow}WARN: ${msg}${Logger.reset}`;
|
|
113
|
+
const msg = Logger.indentMessage(`${yellow}WARN: ${message}${reset}`);
|
|
108
114
|
if (this.instance.level.includes(WARN))
|
|
109
|
-
this.instance.c.warn(...(data ? [
|
|
115
|
+
this.instance.c.warn(...(data ? [msg, data] : [msg]));
|
|
110
116
|
this.lastLogTimestamp = DateTime.now().toMillis();
|
|
111
117
|
}
|
|
112
118
|
error = (message, data) => Logger.error(message, data);
|
|
113
119
|
static error(message, data) {
|
|
114
120
|
Logger.initProfiles();
|
|
115
|
-
const msg = Logger.indentMessage(message);
|
|
116
|
-
const formattedMessage = `${Logger.red}ERROR: ${msg}${Logger.reset}`;
|
|
121
|
+
const msg = Logger.indentMessage(`${red}ERROR: ${message}${reset}`);
|
|
117
122
|
if (this.instance.level.includes(ERROR))
|
|
118
|
-
this.instance.c.error(...(data ? [
|
|
123
|
+
this.instance.c.error(...(data ? [msg, data] : [msg]));
|
|
119
124
|
this.lastLogTimestamp = DateTime.now().toMillis();
|
|
120
125
|
}
|
|
121
126
|
throw = (message, data) => Logger.throw(message, data);
|
|
122
127
|
static throw(message, data) {
|
|
123
128
|
Logger.initProfiles();
|
|
124
|
-
const msg = Logger.indentMessage(message);
|
|
125
|
-
const formattedMessage = `${Logger.red}ERROR: ${msg}${Logger.reset}`;
|
|
129
|
+
const msg = Logger.indentMessage(`${red}ERROR: ${message}${reset}`);
|
|
126
130
|
if (this.instance.level.includes(THROW))
|
|
127
|
-
this.instance.c.error(...(data ? [
|
|
131
|
+
this.instance.c.error(...(data ? [msg, data] : [msg]));
|
|
128
132
|
throw new Error(message.toString());
|
|
129
133
|
}
|
|
130
134
|
kill = (message, data) => Logger.kill(message, data);
|
|
131
135
|
static kill(message, data) {
|
|
132
136
|
Logger.initProfiles();
|
|
133
|
-
const msg = Logger.indentMessage(message);
|
|
134
|
-
const formattedMessage = `${Logger.red}ERROR: ${msg}${Logger.reset}`;
|
|
137
|
+
const msg = Logger.indentMessage(`${red}ERROR: ${message}${reset}`);
|
|
135
138
|
if (this.instance.level.includes(KILL))
|
|
136
|
-
this.instance.c.error(...(data ? [
|
|
139
|
+
this.instance.c.error(...(data ? [msg, data] : [msg]));
|
|
137
140
|
this.lastLogTimestamp = DateTime.now().toMillis();
|
|
138
141
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
139
142
|
// @ts-ignore
|
|
@@ -148,12 +151,20 @@ export class Logger {
|
|
|
148
151
|
Logger._openProfiles[key] = { key, start: DateTime.now().toMillis(), initiated: false };
|
|
149
152
|
}
|
|
150
153
|
static stopProfiling(key) {
|
|
154
|
+
const p = Logger._openProfiles[key];
|
|
155
|
+
if (!p) {
|
|
156
|
+
this.instance.c.warn('Cannot STOP profiling. Key "' + key + '" not found');
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
151
159
|
const endTime = DateTime.now().toMillis();
|
|
152
|
-
const duration = endTime -
|
|
153
|
-
|
|
160
|
+
const duration = endTime - p.start;
|
|
161
|
+
const initiated = p.initiated;
|
|
162
|
+
if (initiated)
|
|
154
163
|
Logger.outdent();
|
|
155
164
|
delete Logger._openProfiles[key];
|
|
156
|
-
const msg =
|
|
165
|
+
const msg = initiated
|
|
166
|
+
? Logger.indentMessage(`${green}${duration}ms${reset}`)
|
|
167
|
+
: Logger.indentMessage(`${blue}${italic}${key}${reset} - ${green}${duration}ms${reset}`);
|
|
157
168
|
this.instance.c.log(msg);
|
|
158
169
|
}
|
|
159
170
|
static initProfiles() {
|
|
@@ -162,14 +173,14 @@ export class Logger {
|
|
|
162
173
|
.sort((a, b) => a.start - b.start)
|
|
163
174
|
.forEach(profile => {
|
|
164
175
|
profile.initiated = true;
|
|
165
|
-
const msg = `${
|
|
176
|
+
const msg = Logger.indentMessage(`${blue}${italic}${profile.key}${reset}`);
|
|
166
177
|
this.instance.c.log(msg);
|
|
167
178
|
Logger.indent();
|
|
168
179
|
});
|
|
169
180
|
}
|
|
170
181
|
static indentMessage(message) {
|
|
171
182
|
return Logger._indent > 0
|
|
172
|
-
? `${
|
|
183
|
+
? `${dim}${blue}${'| '.repeat(Logger._indent)}${reset}${message}`
|
|
173
184
|
: message;
|
|
174
185
|
}
|
|
175
186
|
}
|
package/dist/_/Logger.test.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const test: () => void;
|
|
2
2
|
//# sourceMappingURL=Logger.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.test.d.ts","sourceRoot":"","sources":["../../src/_/Logger.test.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Logger.test.d.ts","sourceRoot":"","sources":["../../src/_/Logger.test.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAmBhB,CAAA"}
|
package/dist/_/Logger.test.js
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
import { Logger } from '../Logger';
|
|
2
|
-
const test = () => {
|
|
2
|
+
export const test = () => {
|
|
3
|
+
Logger.shout('Testing');
|
|
3
4
|
Logger.startProfiling('Speed Test');
|
|
4
|
-
Logger.
|
|
5
|
-
Logger.startProfiling('Something');
|
|
5
|
+
Logger.startProfiling('Something1');
|
|
6
6
|
Logger.info('DEF');
|
|
7
7
|
Logger.debug('GHI');
|
|
8
|
-
Logger.
|
|
8
|
+
Logger.startProfiling('Something2');
|
|
9
|
+
Logger.info('DEF');
|
|
10
|
+
Logger.debug('GHI');
|
|
11
|
+
Logger.startProfiling('Something3');
|
|
12
|
+
Logger.info('DEF');
|
|
13
|
+
Logger.debug('GHI');
|
|
14
|
+
Logger.stopProfiling('Something3');
|
|
15
|
+
Logger.stopProfiling('Something2');
|
|
16
|
+
Logger.stopProfiling('Something1');
|
|
9
17
|
Logger.info('JKL');
|
|
10
18
|
Logger.startProfiling('Something Else');
|
|
11
19
|
Logger.stopProfiling('Something Else');
|
|
12
20
|
Logger.stopProfiling('Speed Test');
|
|
13
|
-
return 100;
|
|
14
21
|
};
|
|
15
22
|
test();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sjts/lib-log",
|
|
3
3
|
"description": "The Steve James Typescript Log package",
|
|
4
|
-
"version": "31.1.
|
|
4
|
+
"version": "31.1.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
@@ -19,11 +19,13 @@
|
|
|
19
19
|
"clean": "rm -rf dist",
|
|
20
20
|
"release:patch": "yarn version patch && yarn npm publish",
|
|
21
21
|
"release:minor": "yarn version minor && yarn npm publish",
|
|
22
|
-
"release:major": "yarn version major && yarn npm publish"
|
|
22
|
+
"release:major": "yarn version major && yarn npm publish",
|
|
23
|
+
"test": "tsx src/_/Logger.test.ts"
|
|
23
24
|
},
|
|
24
25
|
"prettier": "@sjts/lib-devops/prettier.json",
|
|
25
26
|
"devDependencies": {
|
|
26
27
|
"@sjts/lib-devops": "31.1.1",
|
|
28
|
+
"tsx": "^4.20.6",
|
|
27
29
|
"typescript": "^5.8.3"
|
|
28
30
|
},
|
|
29
31
|
"publishConfig": {
|