Changing coloring behavior

This commit is contained in:
Fabian
2019-04-02 19:55:04 -04:00
parent be009d24c0
commit 11619948e3
7 changed files with 187 additions and 147 deletions

View File

@ -112,17 +112,13 @@ export class LoggingBase {
this.message(LoggingTypes.Warning, message);
}
logWithCustomColors(type: LoggingTypes, colors: string, ...message: any[]) {
this.message(type, message, colors);
}
error(error: Error | string) {
if (!error) error = "Empty ERROR was passed, so no informations available";
if (typeof error === "string") {
let e = new Error()
this.message(LoggingTypes.Error, [error, "\n", e.stack]);
} else {
this.message(LoggingTypes.Error, [error.message, "\n", error.stack], undefined, getCallerFromExisting(error));
this.message(LoggingTypes.Error, [error.message, "\n", error.stack], getCallerFromExisting(error));
}
}
@ -130,7 +126,7 @@ export class LoggingBase {
this.message(LoggingTypes.Error, message);
}
private message(type: LoggingTypes, message: any[] | string, customColors?: string, caller?: { file: string, line: number }) {
private message(type: LoggingTypes, message: any[] | string, caller?: { file: string, line: number }) {
let file_raw = caller || getCallerFile();
let file = `${file_raw.file}:${String(file_raw.line).padEnd(3, " ")}`;
@ -150,8 +146,25 @@ export class LoggingBase {
let lines = mb.split("\n");
let color = Colors.Reset;
switch (type) {
case LoggingTypes.Log:
//m += FgWhite + BgBlack;
break;
case LoggingTypes.Error:
color += Colors.FgRed;//FgWhite + BgRed + FgWhite;
break;
case LoggingTypes.Debug:
color += Colors.FgCyan;
break;
case LoggingTypes.Warning:
color += Colors.FgYellow;
break;
}
let date = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '');
let prefix = `[ ${date} ][${LoggingTypes[type].toUpperCase().padEnd(5, " ")}][${file}]: `;
let prefix = `[${date}][${color}${LoggingTypes[type].toUpperCase().padEnd(5, " ")}${Colors.Reset}][${file}]: `;
let formatted = lines.map(line => prefix + line);
@ -163,8 +176,7 @@ export class LoggingBase {
raw: lines,
formatted
},
type,
customColors
type
}
this.messageObservable.send(msg);

View File

@ -11,29 +11,9 @@ export class ConsoleWriter implements Adapter {
flush() { }
onMessage(message: Message) {
let consoleLogFormat = Colors.Reset;
if (!message.customColors) {
switch (message.type) {
case LoggingTypes.Log:
//m += FgWhite + BgBlack;
break;
case LoggingTypes.Error:
consoleLogFormat += Colors.FgRed;//FgWhite + BgRed + FgWhite;
break;
case LoggingTypes.Debug:
consoleLogFormat += Colors.FgCyan;
break;
case LoggingTypes.Warning:
consoleLogFormat += Colors.FgYellow;
break;
}
} else {
consoleLogFormat += message.customColors;
}
let lines = message.text.formatted;
let name = "";
if (message.name) name = `[${message.name}]=>`;
lines.forEach(line => console.log(consoleLogFormat + name + line + Colors.Reset))
lines.forEach(line => console.log(name + line + Colors.Reset))
}
}

30
src/test.ts Normal file
View File

@ -0,0 +1,30 @@
import { Logging, LoggingBase } from ".";
Logging.log("test")
Logging.log("i", "am", { a: "an" }, 1000);
Logging.error(new Error("fehler 001"));
Logging.debug("Some Debug infos");
Logging.errorMessage("i", "am", "an", "error");
Logging.log("\x1b[31m\x1b[31m\x1b[31m\x1b[31m\x1b[31m\x1b[31m TEST \x1b[31m\x1b[31m\x1b[31m")
let err = new Error()
if (typeof err.stack !== "string") console.log("Stacktrace invalid", err.stack)
let cus = new LoggingBase({ name: "test" });
cus.log("Hello from custom Logger")
let cus2 = new LoggingBase("test2");
cus2.log("Hello from custom Logger 2")
let cus22 = new LoggingBase("test2");
cus22.log("Hello from custom Logger 22")
cus2.log("Hello from custom Logger 2")
cus22.log("Hello from custom Logger 22")
cus2.log("Hello from custom Logger 2")
cus22.log("Hello from custom Logger 22")
cus2.log("Hello from custom Logger 2")
cus22.log("Hello from custom Logger 22")
cus2.log("Hello from custom Logger 2")
cus22.log("Hello from custom Logger 22")
cus2.log("Hello from custom Logger 2")

View File

@ -16,7 +16,6 @@ export interface Message {
};
date: Date;
file: string;
customColors?: string;
}
export interface Adapter {