diff --git a/out/index.d.ts b/out/index.d.ts index ffb4148..60dc24a 100644 --- a/out/index.d.ts +++ b/out/index.d.ts @@ -24,7 +24,7 @@ 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?); + private message(type, message, customColors?, caller?); private writeMessageToFile(message, error?); private checkQueue(); private writeToLogFile(data); diff --git a/out/index.js b/out/index.js index 32e3ac3..d3cded3 100644 --- a/out/index.js +++ b/out/index.js @@ -88,13 +88,13 @@ class LoggingBase { this.message(LoggingTypes.Error, [error, ":", e.stack]); } else { - this.message(LoggingTypes.Error, [error.name, ":", error.message, ":", error.stack]); + this.message(LoggingTypes.Error, [error.name, ":", error.message, ":", error.stack], undefined, getCallerFromExisting(error)); } } errorMessage(...message) { this.message(LoggingTypes.Error, message); } - async message(type, message, customColors) { + async message(type, message, customColors, caller) { var consoleLogFormat = Reset; if (!customColors) { switch (type) { @@ -131,7 +131,7 @@ class LoggingBase { } }); } - let file = getCallerFile(); + let file = caller || getCallerFile(); let date = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, ''); let prefix = `[${LoggingTypes[type]}][${file.file}:${file.line}][${date}]: `; let message_lines = mb.split("\n").map(line => prefix + line); @@ -345,6 +345,23 @@ function getCallerFile() { catch (err) { } return { file: undefined, line: 0 }; } +function getCallerFromExisting(err) { + let lines = err.stack.split("\n"); + let current = path.basename(__filename); + lines.shift(); // removing first line + while (lines.length > 0) { + let line = lines.shift(); + let matches = line.match(/[a-zA-Z]+[.][a-zA-Z]+[:][0-9]+/g); + if (matches && matches.length > 0) { + let [f, line] = matches[0].split(":"); + if (f != current) { + return { + file: f, line: Number(line) + }; + } + } + } +} var LoggingTypes; (function (LoggingTypes) { LoggingTypes[LoggingTypes["Log"] = 0] = "Log"; diff --git a/out/index.js.map b/out/index.js.map index a1d997e..50b3cae 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/package.json b/package.json index 9779c39..099d02f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hibas123/nodelogging", - "version": "1.2.2", + "version": "1.3.2", "description": "", "main": "out/index.js", "types": "out/index.d.ts", diff --git a/src/index.ts b/src/index.ts index bf5cdd0..12948eb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -113,7 +113,7 @@ export class LoggingBase { let e = new Error() this.message(LoggingTypes.Error, [error, ":", e.stack]); } else { - this.message(LoggingTypes.Error, [error.name, ":", error.message, ":", error.stack]); + this.message(LoggingTypes.Error, [error.name, ":", error.message, ":", error.stack], undefined, getCallerFromExisting(error)); } } @@ -121,7 +121,7 @@ export class LoggingBase { this.message(LoggingTypes.Error, message); } - private async message(type: LoggingTypes, message: any[] | string, customColors?: string) { + private async message(type: LoggingTypes, message: any[] | string, customColors?: string, caller?: { file: string, line: number }) { var consoleLogFormat = Reset; if (!customColors) { switch (type) { @@ -154,7 +154,7 @@ export class LoggingBase { } }); } - let file = getCallerFile() + let file = caller || getCallerFile(); let date = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, ''); let prefix = `[${LoggingTypes[type]}][${file.file}:${file.line}][${date}]: `; let message_lines = mb.split("\n").map(line => prefix + line); @@ -381,6 +381,24 @@ function getCallerFile() { return { file: undefined, line: 0 }; } +function getCallerFromExisting(err: Error): { file: string, line: number } { + let lines = err.stack.split("\n"); + let current = path.basename(__filename); + lines.shift();// removing first line + while (lines.length > 0) { + let line = lines.shift(); + let matches = line.match(/[a-zA-Z]+[.][a-zA-Z]+[:][0-9]+/g) + if (matches && matches.length > 0) { + let [f, line] = matches[0].split(":") + if (f != current) { + return { + file: f, line: Number(line) + }; + } + } + } +} + export enum LoggingTypes { Log, Warning,