improve logger
This commit is contained in:
@@ -1,42 +1,52 @@
|
||||
import color from "colors";
|
||||
|
||||
const logType = {
|
||||
LOG: 0,
|
||||
DEBUG: 1,
|
||||
WARN: 2,
|
||||
ERR: 3,
|
||||
};
|
||||
|
||||
class Logger {
|
||||
constructor() {
|
||||
constructor() {}
|
||||
|
||||
}
|
||||
|
||||
log(...content): void {
|
||||
// console.log(this._prefix("log"), content);
|
||||
}
|
||||
|
||||
warn(...content): void {
|
||||
// console.warn(this._prefix("warn"), content);
|
||||
}
|
||||
|
||||
error(...content): void {
|
||||
// console.error(this._prefix("err"), content);
|
||||
}
|
||||
|
||||
_prefix(type: string): string {
|
||||
let typeStr = "";
|
||||
print(header: string, message: string, type: number) {
|
||||
const content = `[${this._timestamp}] - [${header}] -- ${message}`;
|
||||
switch (type) {
|
||||
case "log":
|
||||
typeStr = "LOG"
|
||||
case logType.LOG:
|
||||
console.log(content);
|
||||
break;
|
||||
case "warn":
|
||||
typeStr = "WARN"
|
||||
case logType.DEBUG:
|
||||
console.debug(content);
|
||||
break;
|
||||
case "err":
|
||||
typeStr = "ERR"
|
||||
case logType.WARN:
|
||||
console.warn(content);
|
||||
break;
|
||||
default:
|
||||
case logType.ERR:
|
||||
console.error(content);
|
||||
break;
|
||||
}
|
||||
return `[${typeStr}: ${this._timestamp()}]`;
|
||||
}
|
||||
|
||||
_timestamp() {
|
||||
return new Date().toLocaleString();
|
||||
log = (...message: any[]) => this.print("LOG", `${message}`, logType.LOG);
|
||||
err = (...message: any[]) => this.print("ERR", `${message}`, logType.ERR);
|
||||
warn = (...message: any[]) => this.print("WARN", `${message}`, logType.WARN);
|
||||
debug = (...message: any[]) => this.print("DEBUG", `${message}`, logType.DEBUG);
|
||||
success = (...message: any[]) => this.print("SUCCESS".green, `${message}`, logType.LOG);
|
||||
|
||||
get = (url: string, state: string, ...message: string[]) =>
|
||||
this.print("GET".green, `[${state} - ${url}]: ${message}`, logType.LOG);
|
||||
post = (url: string, state: string, ...message: string[]) =>
|
||||
this.print("POST".blue, `[${state} - ${url}]: ${message}`, logType.LOG);
|
||||
put = (url: string, state: string, ...message: string[]) =>
|
||||
this.print("PUT".yellow, `[${state} - ${url}]: ${message}`, logType.LOG);
|
||||
del = (url: string, state: string, ...message: string[]) =>
|
||||
this.print("DEL".red, `[${state} - ${url}]: ${message}`, logType.LOG);
|
||||
|
||||
get _timestamp() {
|
||||
return new Date().toLocaleString("en-GB", { hour12: false });
|
||||
}
|
||||
}
|
||||
|
||||
const logger = new Logger();
|
||||
export default logger;
|
||||
export default logger;
|
||||
|
||||
Reference in New Issue
Block a user