@warlock.js/logger 4.0.48 → 4.0.59
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/cjs/channels/console-log.d.ts +17 -0
- package/cjs/channels/console-log.d.ts.map +1 -0
- package/cjs/channels/console-log.js +47 -0
- package/cjs/channels/console-log.js.map +1 -0
- package/cjs/channels/file-log.d.ts +167 -0
- package/cjs/channels/file-log.d.ts.map +1 -0
- package/cjs/channels/file-log.js +272 -0
- package/cjs/channels/file-log.js.map +1 -0
- package/cjs/channels/index.d.ts +4 -0
- package/cjs/channels/index.d.ts.map +1 -0
- package/cjs/channels/json-file-log.d.ts +29 -0
- package/cjs/channels/json-file-log.d.ts.map +1 -0
- package/cjs/channels/json-file-log.js +102 -0
- package/cjs/channels/json-file-log.js.map +1 -0
- package/cjs/index.d.ts +6 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -42
- package/cjs/index.js.map +1 -1
- package/cjs/log-channel.d.ts +63 -0
- package/cjs/log-channel.d.ts.map +1 -0
- package/cjs/log-channel.js +88 -0
- package/cjs/log-channel.js.map +1 -0
- package/cjs/logger.d.ts +58 -0
- package/cjs/logger.d.ts.map +1 -0
- package/cjs/logger.js +112 -0
- package/cjs/logger.js.map +1 -0
- package/cjs/types.d.ts +94 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/utils/capture-unhandled-errors.d.ts +2 -0
- package/cjs/utils/capture-unhandled-errors.d.ts.map +1 -0
- package/cjs/utils/capture-unhandled-errors.js +12 -0
- package/cjs/utils/capture-unhandled-errors.js.map +1 -0
- package/cjs/utils/clear-message.d.ts +5 -0
- package/cjs/utils/clear-message.d.ts.map +1 -0
- package/cjs/utils/clear-message.js +9 -0
- package/cjs/utils/clear-message.js.map +1 -0
- package/cjs/utils/index.d.ts +3 -0
- package/cjs/utils/index.d.ts.map +1 -0
- package/esm/channels/console-log.d.ts +17 -0
- package/esm/channels/console-log.d.ts.map +1 -0
- package/esm/channels/console-log.js +47 -0
- package/esm/channels/console-log.js.map +1 -0
- package/esm/channels/file-log.d.ts +167 -0
- package/esm/channels/file-log.d.ts.map +1 -0
- package/esm/channels/file-log.js +272 -0
- package/esm/channels/file-log.js.map +1 -0
- package/esm/channels/index.d.ts +4 -0
- package/esm/channels/index.d.ts.map +1 -0
- package/esm/channels/json-file-log.d.ts +29 -0
- package/esm/channels/json-file-log.d.ts.map +1 -0
- package/esm/channels/json-file-log.js +102 -0
- package/esm/channels/json-file-log.js.map +1 -0
- package/esm/index.d.ts +6 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -7
- package/esm/index.js.map +1 -1
- package/esm/log-channel.d.ts +63 -0
- package/esm/log-channel.d.ts.map +1 -0
- package/esm/log-channel.js +88 -0
- package/esm/log-channel.js.map +1 -0
- package/esm/logger.d.ts +58 -0
- package/esm/logger.d.ts.map +1 -0
- package/esm/logger.js +112 -0
- package/esm/logger.js.map +1 -0
- package/esm/types.d.ts +94 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/capture-unhandled-errors.d.ts +2 -0
- package/esm/utils/capture-unhandled-errors.d.ts.map +1 -0
- package/esm/utils/capture-unhandled-errors.js +12 -0
- package/esm/utils/capture-unhandled-errors.js.map +1 -0
- package/esm/utils/clear-message.d.ts +5 -0
- package/esm/utils/clear-message.d.ts.map +1 -0
- package/esm/utils/clear-message.js +9 -0
- package/esm/utils/clear-message.js.map +1 -0
- package/esm/utils/index.d.ts +3 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/package.json +38 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-file-log.js","sources":["../../src/channels/json-file-log.ts"],"sourcesContent":[null],"names":["FileLog","dayjs","fileExistsAsync","getJsonFileAsync","putJsonFileAsync","path","ensureDirectoryAsync"],"mappings":"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"}
|
package/cjs/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/cjs/index.js
CHANGED
|
@@ -1,42 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var channels = require('./channels');
|
|
4
|
-
var logChannel = require('./log-channel');
|
|
5
|
-
var logger = require('./logger');
|
|
6
|
-
var types = require('./types');
|
|
7
|
-
var utils = require('./utils');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.keys(channels).forEach(function (k) {
|
|
12
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () { return channels[k]; }
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
Object.keys(logChannel).forEach(function (k) {
|
|
18
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () { return logChannel[k]; }
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
Object.keys(logger).forEach(function (k) {
|
|
24
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () { return logger[k]; }
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
Object.keys(types).forEach(function (k) {
|
|
30
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () { return types[k]; }
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
Object.keys(utils).forEach(function (k) {
|
|
36
|
-
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () { return utils[k]; }
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
//# sourceMappingURL=index.js.map
|
|
42
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var consoleLog=require('./channels/console-log.js'),fileLog=require('./channels/file-log.js'),jsonFileLog=require('./channels/json-file-log.js'),logChannel=require('./log-channel.js'),logger=require('./logger.js'),captureUnhandledErrors=require('./utils/capture-unhandled-errors.js'),clearMessage=require('./utils/clear-message.js');exports.ConsoleLog=consoleLog.ConsoleLog;exports.FileLog=fileLog.FileLog;exports.JSONFileLog=jsonFileLog.JSONFileLog;exports.LogChannel=logChannel.LogChannel;exports.Logger=logger.Logger;exports.log=logger.log;exports.logger=logger.logger;exports.captureAnyUnhandledRejection=captureUnhandledErrors.captureAnyUnhandledRejection;exports.clearMessage=clearMessage.clearMessage;//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BasicLogConfigurations, LogContract, LoggingData } from "./types";
|
|
2
|
+
export declare abstract class LogChannel<Options extends BasicLogConfigurations = BasicLogConfigurations> implements LogContract {
|
|
3
|
+
/**
|
|
4
|
+
* Channel name
|
|
5
|
+
*/
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Channel description
|
|
9
|
+
*/
|
|
10
|
+
description?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Determine if channel is logging in terminal
|
|
13
|
+
*/
|
|
14
|
+
terminal: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Default Configurations
|
|
17
|
+
*/
|
|
18
|
+
protected defaultConfigurations: Options;
|
|
19
|
+
/**
|
|
20
|
+
* Channel configurations
|
|
21
|
+
*/
|
|
22
|
+
protected channelConfigurations: Options;
|
|
23
|
+
/**
|
|
24
|
+
* Determine whether the channel is fully initialized
|
|
25
|
+
*/
|
|
26
|
+
protected isInitialized: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Constructor
|
|
29
|
+
*/
|
|
30
|
+
constructor(configurations?: Options);
|
|
31
|
+
/**
|
|
32
|
+
* Initialize the channel
|
|
33
|
+
*/
|
|
34
|
+
protected init?(): void | Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Get config value
|
|
37
|
+
*/
|
|
38
|
+
protected config<K extends keyof Options>(key: K): Options[K];
|
|
39
|
+
/**
|
|
40
|
+
* Set configurations
|
|
41
|
+
*/
|
|
42
|
+
protected setConfigurations(configurations: Options): this;
|
|
43
|
+
/**
|
|
44
|
+
* Determine if the message should be logged
|
|
45
|
+
*/
|
|
46
|
+
protected shouldBeLogged(data: LoggingData): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Log the given message
|
|
49
|
+
*/
|
|
50
|
+
abstract log(data: LoggingData): void | Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Get date and time formats
|
|
53
|
+
*/
|
|
54
|
+
protected getDateAndTimeFormat(): {
|
|
55
|
+
date: string;
|
|
56
|
+
time: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* get basic configurations with the given ones
|
|
60
|
+
*/
|
|
61
|
+
protected withBasicConfigurations(configurations: Partial<Options>): Options;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=log-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-channel.d.ts","sourceRoot":"","sources":["../src/log-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhF,8BAAsB,UAAU,CAC9B,OAAO,SAAS,sBAAsB,GAAG,sBAAsB,CAC/D,YAAW,WAAW;IAEtB;;OAEG;IACI,IAAI,EAAG,MAAM,CAAC;IAErB;;OAEG;IACI,WAAW,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACI,QAAQ,UAAS;IAExB;;OAEG;IACH,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAiB;IAEzD;;OAEG;IACH,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAiB;IAEzD;;OAEG;IACH,SAAS,CAAC,aAAa,UAAS;IAEhC;;OAEG;gBACgB,cAAc,CAAC,EAAE,OAAO;IAc3C;;OAEG;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAM7D;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO;IASnD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAgBpD;;OAEG;aACa,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5D;;OAEG;IACH,SAAS,CAAC,oBAAoB;;;;IAQ9B;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;CAM7E"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';class LogChannel {
|
|
2
|
+
/**
|
|
3
|
+
* Channel name
|
|
4
|
+
*/
|
|
5
|
+
name;
|
|
6
|
+
/**
|
|
7
|
+
* Channel description
|
|
8
|
+
*/
|
|
9
|
+
description;
|
|
10
|
+
/**
|
|
11
|
+
* Determine if channel is logging in terminal
|
|
12
|
+
*/
|
|
13
|
+
terminal = false;
|
|
14
|
+
/**
|
|
15
|
+
* Default Configurations
|
|
16
|
+
*/
|
|
17
|
+
defaultConfigurations = {};
|
|
18
|
+
/**
|
|
19
|
+
* Channel configurations
|
|
20
|
+
*/
|
|
21
|
+
channelConfigurations = {}; //
|
|
22
|
+
/**
|
|
23
|
+
* Determine whether the channel is fully initialized
|
|
24
|
+
*/
|
|
25
|
+
isInitialized = false;
|
|
26
|
+
/**
|
|
27
|
+
* Constructor
|
|
28
|
+
*/
|
|
29
|
+
constructor(configurations) {
|
|
30
|
+
if (configurations) {
|
|
31
|
+
this.setConfigurations(configurations);
|
|
32
|
+
}
|
|
33
|
+
setTimeout(async () => {
|
|
34
|
+
if (this.init) {
|
|
35
|
+
await this.init();
|
|
36
|
+
}
|
|
37
|
+
this.isInitialized = true;
|
|
38
|
+
}, 0);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get config value
|
|
42
|
+
*/
|
|
43
|
+
config(key) {
|
|
44
|
+
return (this.channelConfigurations[key] ?? (this.defaultConfigurations ?? {})[key]);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Set configurations
|
|
48
|
+
*/
|
|
49
|
+
setConfigurations(configurations) {
|
|
50
|
+
this.channelConfigurations = {
|
|
51
|
+
...this.channelConfigurations,
|
|
52
|
+
...configurations,
|
|
53
|
+
};
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Determine if the message should be logged
|
|
58
|
+
*/
|
|
59
|
+
shouldBeLogged(data) {
|
|
60
|
+
// check for debug mode
|
|
61
|
+
const allowedLevels = this.config("levels");
|
|
62
|
+
if (allowedLevels?.length && !allowedLevels.includes(data.type))
|
|
63
|
+
return false;
|
|
64
|
+
const filter = this.config("filter");
|
|
65
|
+
if (filter) {
|
|
66
|
+
return filter(data);
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get date and time formats
|
|
72
|
+
*/
|
|
73
|
+
getDateAndTimeFormat() {
|
|
74
|
+
const dateFormat = this.config("dateFormat");
|
|
75
|
+
const date = dateFormat?.date ?? "DD-MM-YYYY";
|
|
76
|
+
const time = dateFormat?.time ?? "HH:mm:ss";
|
|
77
|
+
return { date, time };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* get basic configurations with the given ones
|
|
81
|
+
*/
|
|
82
|
+
withBasicConfigurations(configurations) {
|
|
83
|
+
return {
|
|
84
|
+
filter: () => true,
|
|
85
|
+
...configurations,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}exports.LogChannel=LogChannel;//# sourceMappingURL=log-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-channel.js","sources":["../src/log-channel.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAEsB,UAAU,CAAA;AAI9B;;AAEG;AACI,IAAA,IAAI,CAAU;AAErB;;AAEG;AACI,IAAA,WAAW,CAAU;AAE5B;;AAEG;IACI,QAAQ,GAAG,KAAK,CAAC;AAExB;;AAEG;IACO,qBAAqB,GAAY,EAAa,CAAC;AAEzD;;AAEG;AACO,IAAA,qBAAqB,GAAY,EAAa,CAAC;AAEzD;;AAEG;IACO,aAAa,GAAG,KAAK,CAAC;AAEhC;;AAEG;AACH,IAAA,WAAA,CAAmB,cAAwB,EAAA;AACzC,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACxC,SAAA;QAED,UAAU,CAAC,YAAW;YACpB,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AACnB,aAAA;AAED,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC3B,EAAE,CAAC,CAAC,CAAC;KACP;AAOD;;AAEG;AACO,IAAA,MAAM,CAA0B,GAAM,EAAA;AAC9C,QAAA,QACE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE,GAAG,CAAC,EAC1E;KACH;AAED;;AAEG;AACO,IAAA,iBAAiB,CAAC,cAAuB,EAAA;QACjD,IAAI,CAAC,qBAAqB,GAAG;YAC3B,GAAG,IAAI,CAAC,qBAAqB;AAC7B,YAAA,GAAG,cAAc;SAClB,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACO,IAAA,cAAc,CAAC,IAAiB,EAAA;;QAExC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAE5C,QAAA,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7D,YAAA,OAAO,KAAK,CAAC;QAEf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAErC,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAOD;;AAEG;IACO,oBAAoB,GAAA;QAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC7C,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,YAAY,CAAC;AAC9C,QAAA,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC;AAE5C,QAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACvB;AAED;;AAEG;AACO,IAAA,uBAAuB,CAAC,cAAgC,EAAA;QAChE,OAAO;AACL,YAAA,MAAM,EAAE,MAAM,IAAI;AAClB,YAAA,GAAG,cAAc;SACA,CAAC;KACrB;AACF"}
|
package/cjs/logger.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { LogChannel } from "./log-channel";
|
|
2
|
+
import type { Log, LoggingData, OmittedLoggingData } from "./types";
|
|
3
|
+
export declare class Logger {
|
|
4
|
+
/**
|
|
5
|
+
* Current channel
|
|
6
|
+
*/
|
|
7
|
+
channels: LogChannel[];
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* Add a new channel
|
|
11
|
+
*/
|
|
12
|
+
addChannel(channel: LogChannel): this;
|
|
13
|
+
/**
|
|
14
|
+
* Set base configurations
|
|
15
|
+
*/
|
|
16
|
+
configure(config: {
|
|
17
|
+
channels: LogChannel[];
|
|
18
|
+
}): this;
|
|
19
|
+
/**
|
|
20
|
+
* Set channels
|
|
21
|
+
*/
|
|
22
|
+
setChannels(channels: LogChannel[]): this;
|
|
23
|
+
/**
|
|
24
|
+
* Normalize log data to a single object
|
|
25
|
+
*/
|
|
26
|
+
private normalizeLogData;
|
|
27
|
+
/**
|
|
28
|
+
* Make log
|
|
29
|
+
*/
|
|
30
|
+
log(data: LoggingData): Promise<this>;
|
|
31
|
+
/**
|
|
32
|
+
* Make debug log
|
|
33
|
+
*/
|
|
34
|
+
debug(dataOrModule: LoggingData | string, action?: string, message?: any): Promise<this>;
|
|
35
|
+
/**
|
|
36
|
+
* Make info log
|
|
37
|
+
*/
|
|
38
|
+
info(dataOrModule: OmittedLoggingData | string, action?: string, message?: any): Promise<this>;
|
|
39
|
+
/**
|
|
40
|
+
* Make warn log
|
|
41
|
+
*/
|
|
42
|
+
warn(dataOrModule: LoggingData | string, action?: string, message?: any): Promise<this>;
|
|
43
|
+
/**
|
|
44
|
+
* Make error log
|
|
45
|
+
*/
|
|
46
|
+
error(dataOrModule: LoggingData | string, action?: string, message?: any): Promise<this>;
|
|
47
|
+
/**
|
|
48
|
+
* Make success log
|
|
49
|
+
*/
|
|
50
|
+
success(dataOrModule: LoggingData | string, action?: string, message?: any): Promise<this>;
|
|
51
|
+
/**
|
|
52
|
+
* Get channel by name
|
|
53
|
+
*/
|
|
54
|
+
channel(name: string): LogChannel<import("./types").BasicLogConfigurations>;
|
|
55
|
+
}
|
|
56
|
+
export declare const logger: Logger;
|
|
57
|
+
export declare const log: Log;
|
|
58
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,WAAW,EAAY,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG9E,qBAAa,MAAM;IACjB;;OAEG;IACI,QAAQ,EAAE,UAAU,EAAE,CAAM;IAE5B,EAAE,SAAiC;IAE1C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,UAAU;IAMrC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE;IAMnD;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE;IAMzC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACU,GAAG,CAAC,IAAI,EAAE,WAAW;IAWlC;;OAEG;IACI,KAAK,CACV,YAAY,EAAE,WAAW,GAAG,MAAM,EAClC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,GAAQ;IAMnB;;OAEG;IACI,IAAI,CACT,YAAY,EAAE,kBAAkB,GAAG,MAAM,EACzC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,GAAQ;IAMnB;;OAEG;IACI,IAAI,CACT,YAAY,EAAE,WAAW,GAAG,MAAM,EAClC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,GAAQ;IAMnB;;OAEG;IACI,KAAK,CACV,YAAY,EAAE,WAAW,GAAG,MAAM,EAClC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,GAAQ;IAMnB;;OAEG;IACI,OAAO,CACZ,YAAY,EAAE,WAAW,GAAG,MAAM,EAClC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,GAAQ;IAYnB;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM;CAG5B;AAED,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC,eAAO,MAAM,GAAG,EAAE,GAEjB,CAAC"}
|
package/cjs/logger.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';var reinforcements=require('@mongez/reinforcements'),clearMessage=require('./utils/clear-message.js');class Logger {
|
|
2
|
+
/**
|
|
3
|
+
* Current channel
|
|
4
|
+
*/
|
|
5
|
+
channels = [];
|
|
6
|
+
id = "logger-" + reinforcements.Random.string(32);
|
|
7
|
+
/**
|
|
8
|
+
* Add a new channel
|
|
9
|
+
*/
|
|
10
|
+
addChannel(channel) {
|
|
11
|
+
this.channels.push(channel);
|
|
12
|
+
return this;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Set base configurations
|
|
16
|
+
*/
|
|
17
|
+
configure(config) {
|
|
18
|
+
this.channels = config.channels;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Set channels
|
|
23
|
+
*/
|
|
24
|
+
setChannels(channels) {
|
|
25
|
+
this.channels = channels;
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Normalize log data to a single object
|
|
30
|
+
*/
|
|
31
|
+
normalizeLogData(dataOrModule, action, message = "", level) {
|
|
32
|
+
if (typeof dataOrModule === "object") {
|
|
33
|
+
// If level is provided, override type
|
|
34
|
+
return {
|
|
35
|
+
type: (level || dataOrModule.type || "info"),
|
|
36
|
+
module: dataOrModule.module,
|
|
37
|
+
action: dataOrModule.action,
|
|
38
|
+
message: dataOrModule.message,
|
|
39
|
+
...(dataOrModule.context ? { context: dataOrModule.context } : {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
type: (level || "info"),
|
|
44
|
+
module: dataOrModule,
|
|
45
|
+
action: action,
|
|
46
|
+
message,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Make log
|
|
51
|
+
*/
|
|
52
|
+
async log(data) {
|
|
53
|
+
for (const channel of this.channels) {
|
|
54
|
+
if (channel.terminal === false) {
|
|
55
|
+
data.message = clearMessage.clearMessage(data.message);
|
|
56
|
+
}
|
|
57
|
+
channel.log(data);
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Make debug log
|
|
63
|
+
*/
|
|
64
|
+
debug(dataOrModule, action, message = "") {
|
|
65
|
+
const data = this.normalizeLogData(dataOrModule, action, message, "debug");
|
|
66
|
+
return this.log(data);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Make info log
|
|
70
|
+
*/
|
|
71
|
+
info(dataOrModule, action, message = "") {
|
|
72
|
+
const data = this.normalizeLogData(dataOrModule, action, message, "info");
|
|
73
|
+
return this.log(data);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Make warn log
|
|
77
|
+
*/
|
|
78
|
+
warn(dataOrModule, action, message = "") {
|
|
79
|
+
const data = this.normalizeLogData(dataOrModule, action, message, "warn");
|
|
80
|
+
return this.log(data);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Make error log
|
|
84
|
+
*/
|
|
85
|
+
error(dataOrModule, action, message = "") {
|
|
86
|
+
const data = this.normalizeLogData(dataOrModule, action, message, "error");
|
|
87
|
+
return this.log(data);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Make success log
|
|
91
|
+
*/
|
|
92
|
+
success(dataOrModule, action, message = "") {
|
|
93
|
+
const data = this.normalizeLogData(dataOrModule, action, message, "success");
|
|
94
|
+
return this.log(data);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get channel by name
|
|
98
|
+
*/
|
|
99
|
+
channel(name) {
|
|
100
|
+
return this.channels.find(channel => channel.name === name);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const logger = new Logger();
|
|
104
|
+
const log = (data) => {
|
|
105
|
+
return logger.log(data);
|
|
106
|
+
};
|
|
107
|
+
log.info = logger.info.bind(logger);
|
|
108
|
+
log.debug = logger.debug.bind(logger);
|
|
109
|
+
log.warn = logger.warn.bind(logger);
|
|
110
|
+
log.error = logger.error.bind(logger);
|
|
111
|
+
log.success = logger.success.bind(logger);
|
|
112
|
+
log.channel = logger.channel.bind(logger);exports.Logger=Logger;exports.log=log;exports.logger=logger;//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../src/logger.ts"],"sourcesContent":[null],"names":["Random","clearMessage"],"mappings":"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"}
|
package/cjs/types.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { LogChannel } from "./log-channel";
|
|
2
|
+
import type { Logger } from "./logger";
|
|
3
|
+
export type LogLevel = "debug" | "info" | "warn" | "error" | "success";
|
|
4
|
+
export type DebugMode = "daily" | "monthly" | "yearly" | "hourly";
|
|
5
|
+
export type BasicLogConfigurations = {
|
|
6
|
+
/**
|
|
7
|
+
* Set what level of logs should be logged
|
|
8
|
+
*
|
|
9
|
+
* @default all
|
|
10
|
+
*/
|
|
11
|
+
levels?: LogLevel[];
|
|
12
|
+
/**
|
|
13
|
+
* Date and time format
|
|
14
|
+
*/
|
|
15
|
+
dateFormat?: {
|
|
16
|
+
date?: string;
|
|
17
|
+
time?: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Advanced filter to determine if the message should be logged or not
|
|
21
|
+
*/
|
|
22
|
+
filter: (data: LoggingData) => boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Add additional context to the log
|
|
25
|
+
*/
|
|
26
|
+
context?: (data: LoggingData) => Promise<Record<string, any>>;
|
|
27
|
+
};
|
|
28
|
+
export type LogMessage = {
|
|
29
|
+
content: string;
|
|
30
|
+
level: LogLevel;
|
|
31
|
+
date: string;
|
|
32
|
+
module: string;
|
|
33
|
+
action: string;
|
|
34
|
+
stack?: string;
|
|
35
|
+
};
|
|
36
|
+
export interface LogContract {
|
|
37
|
+
/**
|
|
38
|
+
* Channel name
|
|
39
|
+
*/
|
|
40
|
+
name: string;
|
|
41
|
+
/**
|
|
42
|
+
* Channel description
|
|
43
|
+
*/
|
|
44
|
+
description?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Determine if channel is logging in terminal
|
|
47
|
+
*/
|
|
48
|
+
terminal?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Log the given message
|
|
51
|
+
*/
|
|
52
|
+
log(data: LoggingData): void | Promise<void>;
|
|
53
|
+
}
|
|
54
|
+
export type LoggingData = {
|
|
55
|
+
type: "info" | "debug" | "warn" | "error" | "success";
|
|
56
|
+
module: string;
|
|
57
|
+
action: string;
|
|
58
|
+
message: any;
|
|
59
|
+
context?: Record<string, any>;
|
|
60
|
+
};
|
|
61
|
+
export type OmittedLoggingData = Omit<LoggingData, "type">;
|
|
62
|
+
export interface Log {
|
|
63
|
+
(data: LoggingData): Promise<Logger>;
|
|
64
|
+
/**
|
|
65
|
+
* Make info log
|
|
66
|
+
*/
|
|
67
|
+
info(data: OmittedLoggingData): Promise<Logger>;
|
|
68
|
+
info(module: string, action: string, message: any): Promise<Logger>;
|
|
69
|
+
/**
|
|
70
|
+
* Make debug log
|
|
71
|
+
*/
|
|
72
|
+
debug(data: OmittedLoggingData): Promise<Logger>;
|
|
73
|
+
debug(module: string, action: string, message: any): Promise<Logger>;
|
|
74
|
+
/**
|
|
75
|
+
* Make warn log
|
|
76
|
+
*/
|
|
77
|
+
warn(data: OmittedLoggingData): Promise<Logger>;
|
|
78
|
+
warn(module: string, action: string, message: any): Promise<Logger>;
|
|
79
|
+
/**
|
|
80
|
+
* Make error log
|
|
81
|
+
*/
|
|
82
|
+
error(data: OmittedLoggingData): Promise<Logger>;
|
|
83
|
+
error(module: string, action: string, message: any): Promise<Logger>;
|
|
84
|
+
/**
|
|
85
|
+
* Make success log
|
|
86
|
+
*/
|
|
87
|
+
success(data: OmittedLoggingData): Promise<Logger>;
|
|
88
|
+
success(module: string, action: string, message: any): Promise<Logger>;
|
|
89
|
+
/**
|
|
90
|
+
* Get channel by name
|
|
91
|
+
*/
|
|
92
|
+
channel(name: string): LogChannel | undefined;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-unhandled-errors.d.ts","sourceRoot":"","sources":["../../src/utils/capture-unhandled-errors.ts"],"names":[],"mappings":"AAEA,wBAAgB,4BAA4B,SAY3C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';var logger=require('../logger.js');function captureAnyUnhandledRejection() {
|
|
2
|
+
process.on("unhandledRejection", (reason, promise) => {
|
|
3
|
+
logger.log.error("app", "unhandledRejection", reason);
|
|
4
|
+
console.log(promise);
|
|
5
|
+
// console.trace();
|
|
6
|
+
});
|
|
7
|
+
process.on("uncaughtException", error => {
|
|
8
|
+
logger.log.error("app", "uncaughtException", error);
|
|
9
|
+
// console.trace();
|
|
10
|
+
console.log(error);
|
|
11
|
+
});
|
|
12
|
+
}exports.captureAnyUnhandledRejection=captureAnyUnhandledRejection;//# sourceMappingURL=capture-unhandled-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-unhandled-errors.js","sources":["../../src/utils/capture-unhandled-errors.ts"],"sourcesContent":[null],"names":["log"],"mappings":"yDAEgB,4BAA4B,GAAA;IAC1C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,OAAO,KAAI;QACxDA,UAAG,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC/C,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;AAEvB,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAG;QACtCA,UAAG,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;;AAE7C,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACrB,KAAC,CAAC,CAAC;AACL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-message.d.ts","sourceRoot":"","sources":["../../src/utils/clear-message.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,OAKxC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';/**
|
|
2
|
+
* Clear message from any terminal codes
|
|
3
|
+
*/
|
|
4
|
+
function clearMessage(message) {
|
|
5
|
+
if (typeof message !== "string")
|
|
6
|
+
return message;
|
|
7
|
+
// eslint-disable-next-line no-control-regex
|
|
8
|
+
return message.replace(/\u001b[^m]*?m/g, "");
|
|
9
|
+
}exports.clearMessage=clearMessage;//# sourceMappingURL=clear-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-message.js","sources":["../../src/utils/clear-message.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA;;AAEG;AACG,SAAU,YAAY,CAAC,OAAY,EAAA;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ;AAAE,QAAA,OAAO,OAAO,CAAC;;IAGhD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAC/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LogChannel } from "../log-channel";
|
|
2
|
+
import type { BasicLogConfigurations, LoggingData } from "../types";
|
|
3
|
+
export declare class ConsoleLog extends LogChannel<BasicLogConfigurations> {
|
|
4
|
+
/**
|
|
5
|
+
* {@inheritdoc}
|
|
6
|
+
*/
|
|
7
|
+
name: string;
|
|
8
|
+
/**
|
|
9
|
+
* Determine if channel is logging in terminal
|
|
10
|
+
*/
|
|
11
|
+
terminal: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* {@inheritdoc}
|
|
14
|
+
*/
|
|
15
|
+
log(data: LoggingData): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=console-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-log.d.ts","sourceRoot":"","sources":["../../src/channels/console-log.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpE,qBAAa,UAAW,SAAQ,UAAU,CAAC,sBAAsB,CAAC;IAChE;;OAEG;IACI,IAAI,SAAa;IAExB;;OAEG;IACI,QAAQ,UAAQ;IAEvB;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,WAAW;CA0E7B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {colors}from'@mongez/copper';import {LogChannel}from'../log-channel.js';class ConsoleLog extends LogChannel {
|
|
2
|
+
/**
|
|
3
|
+
* {@inheritdoc}
|
|
4
|
+
*/
|
|
5
|
+
name = "console";
|
|
6
|
+
/**
|
|
7
|
+
* Determine if channel is logging in terminal
|
|
8
|
+
*/
|
|
9
|
+
terminal = true;
|
|
10
|
+
/**
|
|
11
|
+
* {@inheritdoc}
|
|
12
|
+
*/
|
|
13
|
+
log(data) {
|
|
14
|
+
const { module, action, message, type: level } = data;
|
|
15
|
+
if (!this.shouldBeLogged(data))
|
|
16
|
+
return;
|
|
17
|
+
// display date and time with milliseconds
|
|
18
|
+
const date = new Date().toISOString(); // i.e 2021-01-01T00:00:00.000Z
|
|
19
|
+
switch (level) {
|
|
20
|
+
case "debug":
|
|
21
|
+
// add a debug icon
|
|
22
|
+
console.log(colors.magentaBright("⚙"), colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), colors.magentaBright(message));
|
|
23
|
+
break;
|
|
24
|
+
case "info":
|
|
25
|
+
// add an info icon
|
|
26
|
+
console.log(colors.blueBright("ℹ"), colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), colors.blueBright(message));
|
|
27
|
+
break;
|
|
28
|
+
case "warn":
|
|
29
|
+
// add a warning icon
|
|
30
|
+
console.log(colors.yellow("⚠"), colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), colors.yellowBright(message));
|
|
31
|
+
break;
|
|
32
|
+
case "error":
|
|
33
|
+
// add an error icon
|
|
34
|
+
console.log(colors.red("✗"), colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), colors.redBright(message));
|
|
35
|
+
break;
|
|
36
|
+
case "success":
|
|
37
|
+
// add a success icon
|
|
38
|
+
console.log(colors.green("✓"), colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), colors.greenBright(message));
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
console.log("[log]", colors.yellow(`(${date})`), colors.cyan(`[${module}]`), colors.magenta(`[${action}]`), message);
|
|
42
|
+
}
|
|
43
|
+
if (typeof message === "object") {
|
|
44
|
+
console.log(message);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}export{ConsoleLog};//# sourceMappingURL=console-log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-log.js","sources":["../../src/channels/console-log.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|