@sjts/lib-log 1.0.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/.eslintrc.cjs +9 -0
- package/LICENCE +5 -0
- package/dist/Logger.d.ts +35 -0
- package/dist/Logger.js +85 -0
- package/dist/LoggerLevel.d.ts +12 -0
- package/dist/LoggerLevel.js +14 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +22 -0
package/.eslintrc.cjs
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
extends: [require.resolve('@sjts/lib-dev/eslintrc.base')],
|
|
3
|
+
ignorePatterns: ['*.d.ts', 'admin/*', '*.test.ts', '*/node_modules/*', '*.js'],
|
|
4
|
+
parserOptions: {
|
|
5
|
+
project: 'tsconfig.json',
|
|
6
|
+
tsconfigRootDir: __dirname,
|
|
7
|
+
createDefaultProgram: true,
|
|
8
|
+
},
|
|
9
|
+
}
|
package/LICENCE
ADDED
package/dist/Logger.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import LoggerLevel from './LoggerLevel.js';
|
|
2
|
+
export type LogListener = (message: string, data?: any) => void;
|
|
3
|
+
export declare class Logger {
|
|
4
|
+
private level;
|
|
5
|
+
private c;
|
|
6
|
+
private static listeners;
|
|
7
|
+
set console(c: any);
|
|
8
|
+
static set console(c: any);
|
|
9
|
+
set logLevel(l: LoggerLevel[]);
|
|
10
|
+
static set logLevel(l: LoggerLevel[]);
|
|
11
|
+
shout: (message: string, data?: any) => void;
|
|
12
|
+
static shout(message: string, data?: any): void;
|
|
13
|
+
debug: (message: string, data?: any) => void;
|
|
14
|
+
static debug(message: string, data?: any): void;
|
|
15
|
+
info: (message: string, data?: any) => void;
|
|
16
|
+
static info(message: string, data?: any): void;
|
|
17
|
+
system: (message: string, data?: any) => void;
|
|
18
|
+
static system(message: string, data?: any): void;
|
|
19
|
+
warn: (message: string, data?: any) => void;
|
|
20
|
+
static warn(message: string, data?: any): void;
|
|
21
|
+
error: (message: string, data?: any) => void;
|
|
22
|
+
static error(message: string, data?: any): void;
|
|
23
|
+
throw: (message: string, data?: any) => void;
|
|
24
|
+
static throw(message: string, data?: any): void;
|
|
25
|
+
kill: (message: string, data?: any) => void;
|
|
26
|
+
static kill(message: string, data?: any): void;
|
|
27
|
+
triggerListeners: (message: string, data?: any) => void;
|
|
28
|
+
static triggerListeners(message: string, data?: any): void;
|
|
29
|
+
addListener: (l: LogListener) => void;
|
|
30
|
+
static addListener(l: LogListener): void;
|
|
31
|
+
removeListener: (l: LogListener) => void;
|
|
32
|
+
static removeListener(l: LogListener): void;
|
|
33
|
+
private static instance;
|
|
34
|
+
}
|
|
35
|
+
export default Logger;
|
package/dist/Logger.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import LoggerLevel from './LoggerLevel.js';
|
|
2
|
+
const { DEBUG, INFO, SYSTEM, WARN, ERROR, THROW, KILL } = LoggerLevel;
|
|
3
|
+
export class Logger {
|
|
4
|
+
level = [INFO, WARN, ERROR, THROW, KILL];
|
|
5
|
+
c = console;
|
|
6
|
+
static listeners = [];
|
|
7
|
+
set console(c) {
|
|
8
|
+
this.c = c;
|
|
9
|
+
}
|
|
10
|
+
static set console(c) {
|
|
11
|
+
this.instance.console = c;
|
|
12
|
+
}
|
|
13
|
+
set logLevel(l) {
|
|
14
|
+
this.level = l;
|
|
15
|
+
}
|
|
16
|
+
static set logLevel(l) {
|
|
17
|
+
this.instance.logLevel = l;
|
|
18
|
+
}
|
|
19
|
+
shout = (message, data) => Logger.info('--------------\n' + message + '\n--------------', data);
|
|
20
|
+
static shout(message, data) {
|
|
21
|
+
this.info('--------------\n' + message + '\n--------------', data);
|
|
22
|
+
}
|
|
23
|
+
debug = (message, data) => Logger.debug(message, data);
|
|
24
|
+
static debug(message, data) {
|
|
25
|
+
if (this.instance.level.includes(DEBUG))
|
|
26
|
+
this.instance.c.log(...(data ? [message, data] : [message]));
|
|
27
|
+
this.triggerListeners(message, data);
|
|
28
|
+
}
|
|
29
|
+
info = (message, data) => Logger.info(message, data);
|
|
30
|
+
static info(message, data) {
|
|
31
|
+
if (this.instance.level.includes(INFO))
|
|
32
|
+
this.instance.c.log(...(data ? [message, data] : [message]));
|
|
33
|
+
this.triggerListeners(message, data);
|
|
34
|
+
}
|
|
35
|
+
system = (message, data) => Logger.info(message, data);
|
|
36
|
+
static system(message, data) {
|
|
37
|
+
if (this.instance.level.includes(SYSTEM))
|
|
38
|
+
this.instance.c.log(...(data ? [message, data] : [message]));
|
|
39
|
+
this.triggerListeners(message, data);
|
|
40
|
+
}
|
|
41
|
+
warn = (message, data) => Logger.warn(message, data);
|
|
42
|
+
static warn(message, data) {
|
|
43
|
+
if (this.instance.level.includes(WARN))
|
|
44
|
+
this.instance.c.warn(...(data ? [message, data] : [message]));
|
|
45
|
+
this.triggerListeners(message, data);
|
|
46
|
+
}
|
|
47
|
+
error = (message, data) => Logger.error(message, data);
|
|
48
|
+
static error(message, data) {
|
|
49
|
+
if (this.instance.level.includes(ERROR))
|
|
50
|
+
this.instance.c.error(...(data ? [message, data] : [message]));
|
|
51
|
+
this.triggerListeners(message, data);
|
|
52
|
+
}
|
|
53
|
+
throw = (message, data) => Logger.throw(message, data);
|
|
54
|
+
static throw(message, data) {
|
|
55
|
+
if (this.instance.level.includes(THROW))
|
|
56
|
+
this.instance.c.error(...(data ? [message, data] : [message]));
|
|
57
|
+
this.triggerListeners(message, data);
|
|
58
|
+
throw new Error(message.toString());
|
|
59
|
+
}
|
|
60
|
+
kill = (message, data) => Logger.kill(message, data);
|
|
61
|
+
static kill(message, data) {
|
|
62
|
+
if (this.instance.level.includes(KILL))
|
|
63
|
+
this.instance.c.error(...(data ? [message, data] : [message]));
|
|
64
|
+
this.triggerListeners(message, data);
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
triggerListeners = (message, data) => Logger.triggerListeners(message, data);
|
|
70
|
+
static triggerListeners(message, data) {
|
|
71
|
+
this.listeners.forEach(l => {
|
|
72
|
+
l(message.toString(), data);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
addListener = (l) => Logger.addListener(l);
|
|
76
|
+
static addListener(l) {
|
|
77
|
+
this.listeners.push(l);
|
|
78
|
+
}
|
|
79
|
+
removeListener = (l) => Logger.removeListener(l);
|
|
80
|
+
static removeListener(l) {
|
|
81
|
+
this.listeners = this.listeners.filter(ll => ll !== l);
|
|
82
|
+
}
|
|
83
|
+
static instance = new Logger();
|
|
84
|
+
}
|
|
85
|
+
export default Logger;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum LoggerLevel {
|
|
2
|
+
DEBUG = "debug",
|
|
3
|
+
INFO = "info",
|
|
4
|
+
SYSTEM = "system",
|
|
5
|
+
WARN = "warn",
|
|
6
|
+
ERROR = "error",
|
|
7
|
+
THROW = "throw",
|
|
8
|
+
KILL = "kill"
|
|
9
|
+
}
|
|
10
|
+
export declare const LoggerLevelFull: LoggerLevel[];
|
|
11
|
+
export declare const LoggerLevelStandard: LoggerLevel[];
|
|
12
|
+
export default LoggerLevel;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var LoggerLevel;
|
|
2
|
+
(function (LoggerLevel) {
|
|
3
|
+
LoggerLevel["DEBUG"] = "debug";
|
|
4
|
+
LoggerLevel["INFO"] = "info";
|
|
5
|
+
LoggerLevel["SYSTEM"] = "system";
|
|
6
|
+
LoggerLevel["WARN"] = "warn";
|
|
7
|
+
LoggerLevel["ERROR"] = "error";
|
|
8
|
+
LoggerLevel["THROW"] = "throw";
|
|
9
|
+
LoggerLevel["KILL"] = "kill";
|
|
10
|
+
})(LoggerLevel || (LoggerLevel = {}));
|
|
11
|
+
const { DEBUG, INFO, SYSTEM, WARN, ERROR, THROW, KILL } = LoggerLevel;
|
|
12
|
+
export const LoggerLevelFull = [DEBUG, INFO, SYSTEM, WARN, ERROR, THROW, KILL];
|
|
13
|
+
export const LoggerLevelStandard = [INFO, WARN, ERROR, THROW, KILL];
|
|
14
|
+
export default LoggerLevel;
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sjts/lib-log",
|
|
3
|
+
"description": "The Steve James Typescript Log package",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@sjts/lib-dev": "1.1.0"
|
|
18
|
+
},
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
}
|
|
22
|
+
}
|