@ricdotnet/logger 0.2.1 → 0.2.2
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/src/Constants.d.ts +25 -0
- package/dist/src/Constants.js +30 -0
- package/dist/src/Constants.js.map +1 -0
- package/dist/src/Logger.d.ts +15 -0
- package/dist/src/Logger.js +65 -0
- package/dist/src/Logger.js.map +1 -0
- package/dist/src/Queue.d.ts +11 -0
- package/dist/src/Queue.js +64 -0
- package/dist/src/Queue.js.map +1 -0
- package/dist/src/Types.d.ts +12 -0
- package/dist/src/Types.js +3 -0
- package/dist/src/Types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare enum Constants {
|
|
2
|
+
RESET = "\u001B[0m",
|
|
3
|
+
BRIGHT = "\u001B[1m",
|
|
4
|
+
DIM = "\u001B[2m",
|
|
5
|
+
UNDERSCORE = "\u001B[4m",
|
|
6
|
+
BLINK = "\u001B[5m",
|
|
7
|
+
REVERSE = "\u001B[7m",
|
|
8
|
+
HIDDEN = "\u001B[8m",
|
|
9
|
+
TEXT_BLACK = "\u001B[30m",
|
|
10
|
+
TEXT_RED = "\u001B[31m",
|
|
11
|
+
TEXT_GREEN = "\u001B[32m",
|
|
12
|
+
TEXT_YELLOW = "\u001B[33m",
|
|
13
|
+
TEXT_BLUE = "\u001B[34m",
|
|
14
|
+
TEXT_MAGENTA = "\u001B[35m",
|
|
15
|
+
TEXT_CYAN = "\u001B[36m",
|
|
16
|
+
TEXT_WHITE = "\u001B[37m",
|
|
17
|
+
BG_BLACK = "\u001B[40m",
|
|
18
|
+
BG_RED = "\u001B[41m",
|
|
19
|
+
BG_GREEN = "\u001B[42m",
|
|
20
|
+
BG_YELLOW = "\u001B[43m",
|
|
21
|
+
BG_BLUE = "\u001B[44m",
|
|
22
|
+
BG_MAGENTA = "\u001B[45m",
|
|
23
|
+
BG_CYAN = "\u001B[46m",
|
|
24
|
+
BG_WHITE = "\u001B[47m"
|
|
25
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Constants = void 0;
|
|
4
|
+
var Constants;
|
|
5
|
+
(function (Constants) {
|
|
6
|
+
Constants["RESET"] = "\u001B[0m";
|
|
7
|
+
Constants["BRIGHT"] = "\u001B[1m";
|
|
8
|
+
Constants["DIM"] = "\u001B[2m";
|
|
9
|
+
Constants["UNDERSCORE"] = "\u001B[4m";
|
|
10
|
+
Constants["BLINK"] = "\u001B[5m";
|
|
11
|
+
Constants["REVERSE"] = "\u001B[7m";
|
|
12
|
+
Constants["HIDDEN"] = "\u001B[8m";
|
|
13
|
+
Constants["TEXT_BLACK"] = "\u001B[30m";
|
|
14
|
+
Constants["TEXT_RED"] = "\u001B[31m";
|
|
15
|
+
Constants["TEXT_GREEN"] = "\u001B[32m";
|
|
16
|
+
Constants["TEXT_YELLOW"] = "\u001B[33m";
|
|
17
|
+
Constants["TEXT_BLUE"] = "\u001B[34m";
|
|
18
|
+
Constants["TEXT_MAGENTA"] = "\u001B[35m";
|
|
19
|
+
Constants["TEXT_CYAN"] = "\u001B[36m";
|
|
20
|
+
Constants["TEXT_WHITE"] = "\u001B[37m";
|
|
21
|
+
Constants["BG_BLACK"] = "\u001B[40m";
|
|
22
|
+
Constants["BG_RED"] = "\u001B[41m";
|
|
23
|
+
Constants["BG_GREEN"] = "\u001B[42m";
|
|
24
|
+
Constants["BG_YELLOW"] = "\u001B[43m";
|
|
25
|
+
Constants["BG_BLUE"] = "\u001B[44m";
|
|
26
|
+
Constants["BG_MAGENTA"] = "\u001B[45m";
|
|
27
|
+
Constants["BG_CYAN"] = "\u001B[46m";
|
|
28
|
+
Constants["BG_WHITE"] = "\u001B[47m";
|
|
29
|
+
})(Constants = exports.Constants || (exports.Constants = {}));
|
|
30
|
+
//# sourceMappingURL=Constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"./","sources":["src/Constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SA0BX;AA1BD,WAAY,SAAS;IACnB,gCAAwB,CAAA;IACxB,iCAAwB,CAAA;IACxB,8BAAwB,CAAA;IACxB,qCAAwB,CAAA;IACxB,gCAAwB,CAAA;IACxB,kCAAwB,CAAA;IACxB,iCAAwB,CAAA;IAExB,sCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,sCAAyB,CAAA;IAEzB,oCAAyB,CAAA;IACzB,kCAAyB,CAAA;IACzB,oCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,sCAAyB,CAAA;IACzB,mCAAyB,CAAA;IACzB,oCAAyB,CAAA;AAC3B,CAAC,EA1BW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA0BpB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ILogger } from './Types';
|
|
2
|
+
export declare class Logger {
|
|
3
|
+
private readonly logDir;
|
|
4
|
+
private readonly logToConsole;
|
|
5
|
+
private readonly logToFile;
|
|
6
|
+
private readonly level;
|
|
7
|
+
private static logger;
|
|
8
|
+
private readonly logQueue;
|
|
9
|
+
constructor(options?: ILogger);
|
|
10
|
+
static get(): Logger;
|
|
11
|
+
debug(message: string): Promise<void>;
|
|
12
|
+
info(message: string): Promise<void>;
|
|
13
|
+
warn(message: string): Promise<void>;
|
|
14
|
+
error(message: string): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
const Constants_1 = require("./Constants");
|
|
5
|
+
const Queue_1 = require("./Queue");
|
|
6
|
+
class Logger {
|
|
7
|
+
logDir;
|
|
8
|
+
logToConsole;
|
|
9
|
+
logToFile;
|
|
10
|
+
level;
|
|
11
|
+
static logger = null;
|
|
12
|
+
logQueue;
|
|
13
|
+
constructor(options) {
|
|
14
|
+
console.log('Initiating a logger...');
|
|
15
|
+
if (Logger.logger) {
|
|
16
|
+
console.warn('The logger was already initiated.');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this.logToConsole = options?.logToConsole ?? true;
|
|
20
|
+
this.logToFile = options?.logToFile ?? false;
|
|
21
|
+
this.level = options?.level ?? 'info';
|
|
22
|
+
Logger.logger = this;
|
|
23
|
+
if (this.logToFile) {
|
|
24
|
+
this.logQueue = new Queue_1.Queue(options);
|
|
25
|
+
}
|
|
26
|
+
console.log('Logger initiated.');
|
|
27
|
+
}
|
|
28
|
+
static get() {
|
|
29
|
+
return Logger.logger;
|
|
30
|
+
}
|
|
31
|
+
async debug(message) {
|
|
32
|
+
if (this.logToFile) {
|
|
33
|
+
this.logQueue.add(message, 'debug');
|
|
34
|
+
}
|
|
35
|
+
if (this.logToConsole && this.level === 'debug') {
|
|
36
|
+
console.debug(`${Constants_1.Constants.TEXT_CYAN}[DEBUG]:${Constants_1.Constants.RESET} ${message}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async info(message) {
|
|
40
|
+
if (this.logToFile) {
|
|
41
|
+
this.logQueue.add(message, 'info');
|
|
42
|
+
}
|
|
43
|
+
if (this.logToConsole) {
|
|
44
|
+
console.log(`${Constants_1.Constants.TEXT_BLUE}[INFO]:${Constants_1.Constants.RESET} ${message}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async warn(message) {
|
|
48
|
+
if (this.logToFile) {
|
|
49
|
+
this.logQueue.add(message, 'warn');
|
|
50
|
+
}
|
|
51
|
+
if (this.logToConsole) {
|
|
52
|
+
console.warn(`${Constants_1.Constants.TEXT_YELLOW}[WARN]:${Constants_1.Constants.RESET} ${message}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async error(message) {
|
|
56
|
+
if (this.logToFile) {
|
|
57
|
+
this.logQueue.add(message, 'error');
|
|
58
|
+
}
|
|
59
|
+
if (this.logToConsole) {
|
|
60
|
+
console.error(`${Constants_1.Constants.TEXT_RED}[ERROR]:${Constants_1.Constants.RESET} ${message}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.Logger = Logger;
|
|
65
|
+
//# sourceMappingURL=Logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"./","sources":["src/Logger.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAExC,mCAAgC;AAEhC,MAAa,MAAM;IACA,MAAM,CAAS;IACf,YAAY,CAAU;IACtB,SAAS,CAAU;IACnB,KAAK,CAAW;IACzB,MAAM,CAAC,MAAM,GAAW,IAAI,CAAC;IAEpB,QAAQ,CAAQ;IAEjC,YAAY,OAAiB;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC;QAEtC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAK,CAAC,OAAO,CAAC,CAAC;SACpC;QAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAG;QACR,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;YAC/C,OAAO,CAAC,KAAK,CACX,GAAG,qBAAS,CAAC,SAAS,WAAW,qBAAS,CAAC,KAAK,IAAI,OAAO,EAAE,CAC9D,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAS,CAAC,SAAS,UAAU,qBAAS,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;SAC3E;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,CAAC,IAAI,CACV,GAAG,qBAAS,CAAC,WAAW,UAAU,qBAAS,CAAC,KAAK,IAAI,OAAO,EAAE,CAC/D,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,CAAC,KAAK,CACX,GAAG,qBAAS,CAAC,QAAQ,WAAW,qBAAS,CAAC,KAAK,IAAI,OAAO,EAAE,CAC7D,CAAC;SACH;IACH,CAAC;;AAzEH,wBA0EC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ILogger, LogLevel } from './Types';
|
|
2
|
+
export declare class Queue {
|
|
3
|
+
private logQueue;
|
|
4
|
+
private isRunning;
|
|
5
|
+
private readonly logDir;
|
|
6
|
+
constructor(options: ILogger);
|
|
7
|
+
private checkLogDir;
|
|
8
|
+
add(message: string, level: LogLevel): void;
|
|
9
|
+
runQueue(): Promise<void>;
|
|
10
|
+
private writeToFile;
|
|
11
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Queue = void 0;
|
|
4
|
+
const fs = require("fs/promises");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const Logger_1 = require("./Logger");
|
|
7
|
+
class Queue {
|
|
8
|
+
logQueue;
|
|
9
|
+
isRunning;
|
|
10
|
+
logDir;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.logQueue = [];
|
|
13
|
+
this.isRunning = false;
|
|
14
|
+
this.logDir = options?.directory ?? 'Logs';
|
|
15
|
+
this.checkLogDir();
|
|
16
|
+
}
|
|
17
|
+
async checkLogDir() {
|
|
18
|
+
try {
|
|
19
|
+
await fs.mkdir(this.logDir);
|
|
20
|
+
await Logger_1.Logger.get().debug(`Logs folder generated. Logging to: ${this.logDir}`);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
await Logger_1.Logger.get().debug(`Logs folder already exists. Logging to: ${this.logDir}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
add(message, level) {
|
|
27
|
+
this.logQueue.push({ message, level });
|
|
28
|
+
if (!this.isRunning) {
|
|
29
|
+
this.isRunning = true;
|
|
30
|
+
this.runQueue();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
async runQueue() {
|
|
34
|
+
const { message, level } = this.logQueue.shift();
|
|
35
|
+
await this.writeToFile(message, level);
|
|
36
|
+
if (this.logQueue.length) {
|
|
37
|
+
return this.runQueue();
|
|
38
|
+
}
|
|
39
|
+
this.isRunning = false;
|
|
40
|
+
}
|
|
41
|
+
async writeToFile(message, level) {
|
|
42
|
+
const DAY = new Date().getDate();
|
|
43
|
+
const MONTH = new Date().getMonth() + 1;
|
|
44
|
+
const YEAR = new Date().getFullYear();
|
|
45
|
+
const HOURS = new Date().getHours();
|
|
46
|
+
const MINUTES = new Date().getMinutes();
|
|
47
|
+
const FULL_DATE = [DAY, MONTH, YEAR].join('-');
|
|
48
|
+
const FULL_TIME = [HOURS, MINUTES].join(':');
|
|
49
|
+
let logFile;
|
|
50
|
+
try {
|
|
51
|
+
logFile = await fs.readFile(path.join(this.logDir, `${FULL_DATE}-${level}.log`));
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
const data = 'Log Time: ' + FULL_TIME + '\n' + message + '\n\n';
|
|
55
|
+
await fs.writeFile(path.join(this.logDir, `${FULL_DATE}-${level}.log`), data);
|
|
56
|
+
}
|
|
57
|
+
if (logFile) {
|
|
58
|
+
const data = logFile + 'Log Time: ' + FULL_TIME + '\n' + message + '\n\n';
|
|
59
|
+
await fs.writeFile(path.join(this.logDir, `${FULL_DATE}-${level}.log`), data);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.Queue = Queue;
|
|
64
|
+
//# sourceMappingURL=Queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Queue.js","sourceRoot":"./","sources":["src/Queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type Primitives = string | number | object;
|
|
2
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
3
|
+
export type LogObject = {
|
|
4
|
+
message: string;
|
|
5
|
+
level: LogLevel;
|
|
6
|
+
};
|
|
7
|
+
export interface ILogger {
|
|
8
|
+
directory?: string;
|
|
9
|
+
logToConsole?: boolean;
|
|
10
|
+
logToFile?: boolean;
|
|
11
|
+
level?: LogLevel;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Types.js","sourceRoot":"./","sources":["src/Types.ts"],"names":[],"mappings":""}
|