@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 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;
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
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 = '\x1b[31m';
6
- static green = '\x1b[32m';
7
- static yellow = '\x1b[33m';
8
- static blue = '\x1b[34m';
9
- static magenta = '\x1b[35m';
10
- static cyan = '\x1b[36m';
11
- static reset = '\x1b[0m';
12
- static bold = '\x1b[1m';
13
- static dim = '\x1b[2m';
14
- static italic = '\x1b[3m';
15
- static underline = '\x1b[4m';
16
- static strikethrough = '\x1b[9m';
17
- static bgRed = '\x1b[41m';
18
- static bgGreen = '\x1b[42m';
19
- static bgYellow = '\x1b[43m';
20
- static bgBlue = '\x1b[44m';
21
- static bgMagenta = '\x1b[45m';
22
- static bgCyan = '\x1b[46m';
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(Logger.green +
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(Logger.green +
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 ? [formattedMessage, data] : [formattedMessage]));
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 ? [formattedMessage, data] : [formattedMessage]));
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 ? [formattedMessage, data] : [formattedMessage]));
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 ? [formattedMessage, data] : [formattedMessage]));
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 ? [formattedMessage, data] : [formattedMessage]));
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 - Logger._openProfiles[key].start;
153
- if (Logger._openProfiles[key].initiated)
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 = `${Logger.blue}${Logger.italic}${key}${Logger.reset} - ${Logger.green}${duration}ms${Logger.reset}`;
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 = `${Logger.blue}${Logger.italic}${profile.key}${Logger.reset}`;
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
- ? `${Logger.dim}${Logger.blue}${'| '.repeat(Logger._indent)}${Logger.reset}${message}`
183
+ ? `${dim}${blue}${'| '.repeat(Logger._indent)}${reset}${message}`
173
184
  : message;
174
185
  }
175
186
  }
@@ -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"}
@@ -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.info('ABC');
5
- Logger.startProfiling('Something');
5
+ Logger.startProfiling('Something1');
6
6
  Logger.info('DEF');
7
7
  Logger.debug('GHI');
8
- Logger.stopProfiling('Something');
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.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": {