qcobjects
Version:
QCObjects is an Open-source framework that empowers full-stack developers to make micro-services and micro-frontends into an N-Tier architecture.
34 lines (30 loc) • 964 B
text/typescript
import { Export } from "./Export";
import { isBrowser } from "./platform";
export class Logger {
debugEnabled = true;
infoEnabled = true;
warnEnabled = true;
debug(message: string): void {
if (this.debugEnabled) {
console.log("\x1b[35m%s\x1b[0m", `[DEBUG][${performance.now().toLocaleString()}] ${message}`);
}
}
info(message: string): void {
let color;
if (this.infoEnabled) {
if (isBrowser) {
color = "\x1b[103m%s\x1b[0m";
} else {
color = "\x1b[33m%s\x1b[0m";
}
console.info(color, `[INFO][${performance.now().toLocaleString()}] ${message}`);
}
}
warn(message: string): void {
if (this.warnEnabled) {
console.warn("\x1b[31m%s\x1b[0m", `[WARN][${performance.now().toLocaleString()}] ${message}`);
}
}
}
export const logger: Logger = new Logger();
Export(logger);