@xylabs/logger 4.12.21 → 4.12.22
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/neutral/index.mjs +49 -31
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/types/ConsoleLogger.d.ts +5 -0
- package/dist/types/ConsoleLogger.d.ts.map +1 -0
- package/dist/types/IdLogger.d.ts +2 -1
- package/dist/types/IdLogger.d.ts.map +1 -1
- package/dist/types/{Logger.d.ts → LevelLogger.d.ts} +12 -8
- package/dist/types/LevelLogger.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/ConsoleLogger.ts +7 -0
- package/src/IdLogger.ts +5 -1
- package/src/LevelLogger.ts +63 -0
- package/src/index.ts +2 -1
- package/dist/types/Logger.d.ts.map +0 -1
- package/src/Logger.ts +0 -51
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
// src/LevelLogger.ts
|
|
2
|
+
import { Enum } from "@xylabs/enum";
|
|
3
|
+
var LogLevel = Enum({
|
|
4
|
+
error: 1,
|
|
5
|
+
warn: 2,
|
|
6
|
+
info: 3,
|
|
7
|
+
log: 4,
|
|
8
|
+
debug: 5,
|
|
9
|
+
trace: 6
|
|
10
|
+
});
|
|
11
|
+
var NoOpLogFunction = (..._data) => void {};
|
|
12
|
+
var LevelLogger = class {
|
|
13
|
+
level;
|
|
14
|
+
logger;
|
|
15
|
+
constructor(logger, level = LogLevel.warn) {
|
|
16
|
+
this.level = level;
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
get debug() {
|
|
20
|
+
return this.level >= LogLevel.debug ? this.logger.debug : NoOpLogFunction;
|
|
21
|
+
}
|
|
22
|
+
get error() {
|
|
23
|
+
return this.level >= LogLevel.error ? this.logger.error : NoOpLogFunction;
|
|
24
|
+
}
|
|
25
|
+
get info() {
|
|
26
|
+
return this.level >= LogLevel.info ? this.logger.info : NoOpLogFunction;
|
|
27
|
+
}
|
|
28
|
+
get log() {
|
|
29
|
+
return this.level >= LogLevel.log ? this.logger.log : NoOpLogFunction;
|
|
30
|
+
}
|
|
31
|
+
get trace() {
|
|
32
|
+
return this.level >= LogLevel.trace ? this.logger.trace : NoOpLogFunction;
|
|
33
|
+
}
|
|
34
|
+
get warn() {
|
|
35
|
+
return this.level >= LogLevel.warn ? this.logger.warn : NoOpLogFunction;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// src/ConsoleLogger.ts
|
|
40
|
+
var ConsoleLogger = class extends LevelLogger {
|
|
41
|
+
constructor(level = LogLevel.warn) {
|
|
42
|
+
super(console, level);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
1
46
|
// src/getFunctionName.ts
|
|
2
47
|
import { handleError } from "@xylabs/error";
|
|
3
48
|
import { isNumber } from "@xylabs/typeof";
|
|
@@ -44,6 +89,9 @@ var IdLogger = class {
|
|
|
44
89
|
log(...data) {
|
|
45
90
|
this._logger?.log(this.prefix(), ...data);
|
|
46
91
|
}
|
|
92
|
+
trace(...data) {
|
|
93
|
+
this._logger?.trace(this.prefix(), ...data);
|
|
94
|
+
}
|
|
47
95
|
warn(...data) {
|
|
48
96
|
this._logger?.warn(this.prefix(), ...data);
|
|
49
97
|
}
|
|
@@ -51,40 +99,10 @@ var IdLogger = class {
|
|
|
51
99
|
return `[${this._id?.()}]`;
|
|
52
100
|
}
|
|
53
101
|
};
|
|
54
|
-
|
|
55
|
-
// src/Logger.ts
|
|
56
|
-
import { Enum } from "@xylabs/enum";
|
|
57
|
-
var LogLevel = Enum({
|
|
58
|
-
error: 1,
|
|
59
|
-
warn: 2,
|
|
60
|
-
info: 3,
|
|
61
|
-
log: 4,
|
|
62
|
-
debug: 5
|
|
63
|
-
});
|
|
64
|
-
var NoOpLogFunction = (..._data) => void {};
|
|
65
|
-
var ConsoleLogger = class {
|
|
66
|
-
constructor(level = LogLevel.warn) {
|
|
67
|
-
this.level = level;
|
|
68
|
-
}
|
|
69
|
-
get debug() {
|
|
70
|
-
return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction;
|
|
71
|
-
}
|
|
72
|
-
get error() {
|
|
73
|
-
return this.level >= LogLevel.error ? console.error : NoOpLogFunction;
|
|
74
|
-
}
|
|
75
|
-
get info() {
|
|
76
|
-
return this.level >= LogLevel.info ? console.info : NoOpLogFunction;
|
|
77
|
-
}
|
|
78
|
-
get log() {
|
|
79
|
-
return this.level >= LogLevel.log ? console.log : NoOpLogFunction;
|
|
80
|
-
}
|
|
81
|
-
get warn() {
|
|
82
|
-
return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
102
|
export {
|
|
86
103
|
ConsoleLogger,
|
|
87
104
|
IdLogger,
|
|
105
|
+
LevelLogger,
|
|
88
106
|
LogLevel,
|
|
89
107
|
NoOpLogFunction,
|
|
90
108
|
getFunctionName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/
|
|
1
|
+
{"version":3,"sources":["../../src/LevelLogger.ts","../../src/ConsoleLogger.ts","../../src/getFunctionName.ts","../../src/IdLogger.ts"],"sourcesContent":["import type { EnumValue } from '@xylabs/enum'\nimport { Enum } from '@xylabs/enum'\n\nexport type LogFunction = (...data: unknown[]) => void\n\n/**\n * Interface to handle overlap between Winston &\n * `console` with as much congruency as possible.\n */\nexport interface Logger {\n debug: LogFunction\n error: LogFunction\n info: LogFunction\n log: LogFunction\n trace: LogFunction\n warn: LogFunction\n}\n\nexport const LogLevel = Enum({\n error: 1,\n warn: 2,\n info: 3,\n log: 4,\n debug: 5,\n trace: 6,\n})\n\nexport type LogLevel = EnumValue<typeof LogLevel>\n\nexport const NoOpLogFunction = (..._data: unknown[]) => void {}\n\nexport class LevelLogger implements Logger {\n readonly level: LogLevel\n readonly logger: Logger\n constructor(logger: Logger, level: LogLevel = LogLevel.warn) {\n this.level = level\n this.logger = logger\n }\n\n get debug() {\n return this.level >= LogLevel.debug ? this.logger.debug : NoOpLogFunction\n }\n\n get error() {\n return this.level >= LogLevel.error ? this.logger.error : NoOpLogFunction\n }\n\n get info() {\n return this.level >= LogLevel.info ? this.logger.info : NoOpLogFunction\n }\n\n get log() {\n return this.level >= LogLevel.log ? this.logger.log : NoOpLogFunction\n }\n\n get trace() {\n return this.level >= LogLevel.trace ? this.logger.trace : NoOpLogFunction\n }\n\n get warn() {\n return this.level >= LogLevel.warn ? this.logger.warn : NoOpLogFunction\n }\n}\n","import { LevelLogger, LogLevel } from './LevelLogger.ts'\n\nexport class ConsoleLogger extends LevelLogger {\n constructor(level: LogLevel = LogLevel.warn) {\n super(console, level)\n }\n}\n","import { handleError } from '@xylabs/error'\nimport { isNumber } from '@xylabs/typeof'\n\nexport const getFunctionName = (depth = 2) => {\n try {\n throw new Error('Getting function name')\n } catch (ex) {\n return handleError(ex, (error) => {\n let newIndex: number | undefined\n const stackParts = error.stack?.split('\\n')[depth]?.split(' ')\n const funcName\n = stackParts?.find((item, index) => {\n if (item.length > 0 && item !== 'at') {\n // check if constructor\n if (item === 'new') {\n newIndex = index\n }\n return true\n }\n }) ?? '<unknown>'\n return isNumber(newIndex) ? `${funcName} ${stackParts?.[newIndex + 1]}` : funcName\n })\n }\n}\n","import type { Logger } from './LevelLogger.ts'\n\nexport class IdLogger implements Logger {\n private _id?: () => string\n private _logger: Logger\n\n constructor(logger: Logger, id?: () => string) {\n this._logger = logger\n this._id = id\n }\n\n set id(id: string) {\n this._id = () => id\n }\n\n debug(...data: unknown[]) {\n this._logger?.debug(this.prefix(), ...data)\n }\n\n error(...data: unknown[]) {\n this._logger?.error(this.prefix(), ...data)\n }\n\n info(...data: unknown[]) {\n this._logger?.info(this.prefix(), ...data)\n }\n\n log(...data: unknown[]) {\n this._logger?.log(this.prefix(), ...data)\n }\n\n trace(...data: unknown[]) {\n this._logger?.trace(this.prefix(), ...data)\n }\n\n warn(...data: unknown[]) {\n this._logger?.warn(this.prefix(), ...data)\n }\n\n private prefix() {\n return `[${this._id?.()}]`\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../src/ConsoleLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAExD,qBAAa,aAAc,SAAQ,WAAW;gBAChC,KAAK,GAAE,QAAwB;CAG5C"}
|
package/dist/types/IdLogger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Logger } from './
|
|
1
|
+
import type { Logger } from './LevelLogger.ts';
|
|
2
2
|
export declare class IdLogger implements Logger {
|
|
3
3
|
private _id?;
|
|
4
4
|
private _logger;
|
|
@@ -8,6 +8,7 @@ export declare class IdLogger implements Logger {
|
|
|
8
8
|
error(...data: unknown[]): void;
|
|
9
9
|
info(...data: unknown[]): void;
|
|
10
10
|
log(...data: unknown[]): void;
|
|
11
|
+
trace(...data: unknown[]): void;
|
|
11
12
|
warn(...data: unknown[]): void;
|
|
12
13
|
private prefix;
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"IdLogger.d.ts","sourceRoot":"","sources":["../../src/IdLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,QAAS,YAAW,MAAM;IACrC,OAAO,CAAC,GAAG,CAAC,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,MAAM;IAK7C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIxB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIxB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAItB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIxB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE;IAIvB,OAAO,CAAC,MAAM;CAGf"}
|
|
@@ -10,6 +10,7 @@ export interface Logger {
|
|
|
10
10
|
error: LogFunction;
|
|
11
11
|
info: LogFunction;
|
|
12
12
|
log: LogFunction;
|
|
13
|
+
trace: LogFunction;
|
|
13
14
|
warn: LogFunction;
|
|
14
15
|
}
|
|
15
16
|
export declare const LogLevel: Enum<{
|
|
@@ -18,16 +19,19 @@ export declare const LogLevel: Enum<{
|
|
|
18
19
|
info: 3;
|
|
19
20
|
log: 4;
|
|
20
21
|
debug: 5;
|
|
22
|
+
trace: 6;
|
|
21
23
|
}>;
|
|
22
24
|
export type LogLevel = EnumValue<typeof LogLevel>;
|
|
23
25
|
export declare const NoOpLogFunction: (..._data: unknown[]) => undefined;
|
|
24
|
-
export declare class
|
|
26
|
+
export declare class LevelLogger implements Logger {
|
|
25
27
|
readonly level: LogLevel;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
get
|
|
29
|
-
get
|
|
30
|
-
get
|
|
31
|
-
get
|
|
28
|
+
readonly logger: Logger;
|
|
29
|
+
constructor(logger: Logger, level?: LogLevel);
|
|
30
|
+
get debug(): LogFunction;
|
|
31
|
+
get error(): LogFunction;
|
|
32
|
+
get info(): LogFunction;
|
|
33
|
+
get log(): LogFunction;
|
|
34
|
+
get trace(): LogFunction;
|
|
35
|
+
get warn(): LogFunction;
|
|
32
36
|
}
|
|
33
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=LevelLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LevelLogger.d.ts","sourceRoot":"","sources":["../../src/LevelLogger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAEnC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,eAAO,MAAM,QAAQ;;;;;;;EAOnB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,QAAQ,CAAC,CAAA;AAEjD,eAAO,MAAM,eAAe,GAAI,GAAG,OAAO,OAAO,EAAE,cAAY,CAAA;AAE/D,qBAAa,WAAY,YAAW,MAAM;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBACX,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,QAAwB;IAK3D,IAAI,KAAK,gBAER;IAED,IAAI,KAAK,gBAER;IAED,IAAI,IAAI,gBAEP;IAED,IAAI,GAAG,gBAEN;IAED,IAAI,KAAK,gBAER;IAED,IAAI,IAAI,gBAEP;CACF"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/logger",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.22",
|
|
4
4
|
"description": "XYLabs Logger Library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"logger",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"module": "dist/neutral/index.mjs",
|
|
37
37
|
"types": "dist/types/index.d.ts",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@xylabs/enum": "^4.12.
|
|
40
|
-
"@xylabs/error": "^4.12.
|
|
41
|
-
"@xylabs/typeof": "^4.12.
|
|
39
|
+
"@xylabs/enum": "^4.12.22",
|
|
40
|
+
"@xylabs/error": "^4.12.22",
|
|
41
|
+
"@xylabs/typeof": "^4.12.22"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/node": "^24.0.4",
|
package/src/IdLogger.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Logger } from './
|
|
1
|
+
import type { Logger } from './LevelLogger.ts'
|
|
2
2
|
|
|
3
3
|
export class IdLogger implements Logger {
|
|
4
4
|
private _id?: () => string
|
|
@@ -29,6 +29,10 @@ export class IdLogger implements Logger {
|
|
|
29
29
|
this._logger?.log(this.prefix(), ...data)
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
trace(...data: unknown[]) {
|
|
33
|
+
this._logger?.trace(this.prefix(), ...data)
|
|
34
|
+
}
|
|
35
|
+
|
|
32
36
|
warn(...data: unknown[]) {
|
|
33
37
|
this._logger?.warn(this.prefix(), ...data)
|
|
34
38
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { EnumValue } from '@xylabs/enum'
|
|
2
|
+
import { Enum } from '@xylabs/enum'
|
|
3
|
+
|
|
4
|
+
export type LogFunction = (...data: unknown[]) => void
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Interface to handle overlap between Winston &
|
|
8
|
+
* `console` with as much congruency as possible.
|
|
9
|
+
*/
|
|
10
|
+
export interface Logger {
|
|
11
|
+
debug: LogFunction
|
|
12
|
+
error: LogFunction
|
|
13
|
+
info: LogFunction
|
|
14
|
+
log: LogFunction
|
|
15
|
+
trace: LogFunction
|
|
16
|
+
warn: LogFunction
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const LogLevel = Enum({
|
|
20
|
+
error: 1,
|
|
21
|
+
warn: 2,
|
|
22
|
+
info: 3,
|
|
23
|
+
log: 4,
|
|
24
|
+
debug: 5,
|
|
25
|
+
trace: 6,
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
export type LogLevel = EnumValue<typeof LogLevel>
|
|
29
|
+
|
|
30
|
+
export const NoOpLogFunction = (..._data: unknown[]) => void {}
|
|
31
|
+
|
|
32
|
+
export class LevelLogger implements Logger {
|
|
33
|
+
readonly level: LogLevel
|
|
34
|
+
readonly logger: Logger
|
|
35
|
+
constructor(logger: Logger, level: LogLevel = LogLevel.warn) {
|
|
36
|
+
this.level = level
|
|
37
|
+
this.logger = logger
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
get debug() {
|
|
41
|
+
return this.level >= LogLevel.debug ? this.logger.debug : NoOpLogFunction
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
get error() {
|
|
45
|
+
return this.level >= LogLevel.error ? this.logger.error : NoOpLogFunction
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
get info() {
|
|
49
|
+
return this.level >= LogLevel.info ? this.logger.info : NoOpLogFunction
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
get log() {
|
|
53
|
+
return this.level >= LogLevel.log ? this.logger.log : NoOpLogFunction
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
get trace() {
|
|
57
|
+
return this.level >= LogLevel.trace ? this.logger.trace : NoOpLogFunction
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
get warn() {
|
|
61
|
+
return this.level >= LogLevel.warn ? this.logger.warn : NoOpLogFunction
|
|
62
|
+
}
|
|
63
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,eAAO,MAAM,QAAQ;;;;;;EAMnB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,QAAQ,CAAC,CAAA;AAEjD,eAAO,MAAM,eAAe,GAAI,GAAG,OAAO,OAAO,EAAE,cAAY,CAAA;AAE/D,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBAAf,KAAK,GAAE,QAAwB;IAEpD,IAAI,KAAK,sDAER;IAED,IAAI,KAAK,sDAER;IAED,IAAI,IAAI,sDAEP;IAED,IAAI,GAAG,sDAEN;IAED,IAAI,IAAI,sDAEP;CACF"}
|
package/src/Logger.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { EnumValue } from '@xylabs/enum'
|
|
2
|
-
import { Enum } from '@xylabs/enum'
|
|
3
|
-
export type LogFunction = (...data: unknown[]) => void
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Interface to handle overlap between Winston &
|
|
7
|
-
* `console` with as much congruency as possible.
|
|
8
|
-
*/
|
|
9
|
-
export interface Logger {
|
|
10
|
-
debug: LogFunction
|
|
11
|
-
error: LogFunction
|
|
12
|
-
info: LogFunction
|
|
13
|
-
log: LogFunction
|
|
14
|
-
warn: LogFunction
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const LogLevel = Enum({
|
|
18
|
-
error: 1,
|
|
19
|
-
warn: 2,
|
|
20
|
-
info: 3,
|
|
21
|
-
log: 4,
|
|
22
|
-
debug: 5,
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
export type LogLevel = EnumValue<typeof LogLevel>
|
|
26
|
-
|
|
27
|
-
export const NoOpLogFunction = (..._data: unknown[]) => void {}
|
|
28
|
-
|
|
29
|
-
export class ConsoleLogger implements Logger {
|
|
30
|
-
constructor(readonly level: LogLevel = LogLevel.warn) {}
|
|
31
|
-
|
|
32
|
-
get debug() {
|
|
33
|
-
return this.level >= LogLevel.debug ? console.debug : NoOpLogFunction
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
get error() {
|
|
37
|
-
return this.level >= LogLevel.error ? console.error : NoOpLogFunction
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
get info() {
|
|
41
|
-
return this.level >= LogLevel.info ? console.info : NoOpLogFunction
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
get log() {
|
|
45
|
-
return this.level >= LogLevel.log ? console.log : NoOpLogFunction
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
get warn() {
|
|
49
|
-
return this.level >= LogLevel.warn ? console.warn : NoOpLogFunction
|
|
50
|
-
}
|
|
51
|
-
}
|