diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..6e966e0 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +charset = utf-8 +indent_style = space +indent_size = 3 +trim_trailing_whitespace = true +end_of_line = lf \ No newline at end of file diff --git a/out/index.d.ts b/out/index.d.ts index a4a2b39..e905282 100644 --- a/out/index.d.ts +++ b/out/index.d.ts @@ -46,6 +46,7 @@ export interface LoggingBaseOptions { export declare class LoggingBase { private config; private writeLock; + private setted_up; private fileStream; private errorStream; private fileSize; @@ -54,7 +55,7 @@ export declare class LoggingBase { constructor(options?: Partial); console_out: boolean; waitForSetup(): Promise; - private setup(); + private setup; events: EventEmitter; debug(...message: any[]): void; log(...message: any[]): void; @@ -62,12 +63,12 @@ export declare class LoggingBase { logWithCustomColors(type: LoggingTypes, colors: string, ...message: any[]): void; error(error: Error | string): void; errorMessage(...message: any[]): void; - private message(type, message, customColors?, caller?); - private writeMessageToFile(message, error?); - private checkQueue(); - private writeToLogFile(data); - private writeToErrorFile(data); - private initializeFile(file, new_file?); + private message; + private writeMessageToFile; + private checkQueue; + private writeToLogFile; + private writeToErrorFile; + private initializeFile; } export declare let Logging: any; export default Logging; @@ -75,5 +76,5 @@ export declare enum LoggingTypes { Log = 0, Warning = 1, Error = 2, - Debug = 3, + Debug = 3 } diff --git a/out/index.js b/out/index.js index 85d16f7..dcfe4ae 100644 --- a/out/index.js +++ b/out/index.js @@ -35,6 +35,7 @@ const OriginalErrorStackFunction = Error.prototype.prepareStackTrace; class LoggingBase { constructor(options) { this.writeLock = new lock_1.default(); + this.setted_up = false; this.fileSize = 0; this.errorSize = 0; this.queue = new Array(); @@ -55,7 +56,10 @@ class LoggingBase { logfile: "./logs/all.log", errorfile: "./logs/error.log" }, options); - this.setup(); + for (let key in this) { + if (typeof this[key] === "function") + this[key] = this[key].bind(this); + } } get console_out() { return this.config.console_out; @@ -67,6 +71,7 @@ class LoggingBase { (await this.writeLock.getLock()).release(); } async setup() { + this.setted_up = true; let lock = await this.writeLock.getLock(); if (this.config.logfile) { let f = await this.initializeFile(this.config.logfile, true); @@ -74,7 +79,7 @@ class LoggingBase { this.fileSize = f.size; } if (this.config.errorfile) { - let f = await this.initializeFile(this.config.errorfile, true); + let f = await this.initializeFile(this.config.errorfile, false); this.errorStream = f.stream; this.errorSize = f.size; } @@ -176,6 +181,8 @@ class LoggingBase { return; if (this.queue.length <= 0) return; + if (!this.setted_up) + return this.setup(); let lock = await this.writeLock.getLock(); var message = this.queue.shift(); message.message += "\n"; diff --git a/out/index.js.map b/out/index.js.map index 6d69110..d64fb08 100644 --- a/out/index.js.map +++ b/out/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/out/lock.d.ts b/out/lock.d.ts index 9f7d876..ac1e98d 100644 --- a/out/lock.d.ts +++ b/out/lock.d.ts @@ -7,6 +7,6 @@ export default class Lock { private toCome; constructor(); getLock(): Promise; - private lock(); - private release(); + private lock; + private release; } diff --git a/out/lock.js.map b/out/lock.js.map index 9eff807..61cc3a3 100644 --- a/out/lock.js.map +++ b/out/lock.js.map @@ -1 +1 @@ -{"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":";;AACA;IAOG;QANQ,YAAO,GAAY,KAAK,CAAC;QAIzB,WAAM,GAAmB,EAAE,CAAC;QAGjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAPD,IAAI,MAAM;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAOD,KAAK,CAAC,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;aAC9C;YACF,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACnB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAA;YACL,CAAC,CAAC,CAAA;SACJ;IACJ,CAAC;IAEO,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;SACxB;aAAM;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACvB;IACJ,CAAC;CACH;AAlCD,uBAkCC"} \ No newline at end of file +{"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":";;AACA,MAAqB,IAAI;IAOtB;QANQ,YAAO,GAAY,KAAK,CAAC;QAIzB,WAAM,GAAmB,EAAE,CAAC;QAGjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAPD,IAAI,MAAM;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAOD,KAAK,CAAC,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;aAC9C;YACF,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;oBACnB,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAA;YACL,CAAC,CAAC,CAAA;SACJ;IACJ,CAAC;IAEO,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;SACxB;aAAM;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACvB;IACJ,CAAC;CACH;AAlCD,uBAkCC"} \ No newline at end of file diff --git a/package.json b/package.json index 2ff6d16..bb550fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hibas123/nodelogging", - "version": "1.3.12", + "version": "1.3.13", "description": "", "main": "out/index.js", "types": "out/index.d.ts", diff --git a/src/index.ts b/src/index.ts index bef81d4..04605b8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -59,6 +59,8 @@ export class LoggingBase { private config: LoggingBaseOptions; private writeLock = new Lock(); + private setted_up = false; + private fileStream: fs.WriteStream; private errorStream: fs.WriteStream; private fileSize: number = 0; @@ -83,7 +85,11 @@ export class LoggingBase { logfile: "./logs/all.log", errorfile: "./logs/error.log" }, options); - this.setup(); + + for (let key in this) { + if (typeof this[key] === "function") this[key] = (this[key]).bind(this); + } + } get console_out() { @@ -99,6 +105,7 @@ export class LoggingBase { } private async setup() { + this.setted_up = true; let lock = await this.writeLock.getLock(); if (this.config.logfile) { let f = await this.initializeFile(this.config.logfile, true); @@ -213,6 +220,7 @@ export class LoggingBase { try { if (this.writeLock.locked) return; if (this.queue.length <= 0) return; + if (!this.setted_up) return this.setup(); let lock = await this.writeLock.getLock(); var message = this.queue.shift(); message.message += "\n";