| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- enum LogLevel {
- INFO = 'INFO',
- ERROR = 'ERROR',
- WARN = 'WARN',
- }
- const Colors = {
- reset: '\x1b[0m',
- green: '\x1b[32m',
- red: '\x1b[31m',
- yellow: '\x1b[33m',
- cyan: '\x1b[36m'
- };
- class Logger {
- private getTime(): string {
- return new Date().toISOString();
- }
- private log(level: LogLevel, message: string): void {
- const time = this.getTime();
- let levelColor = '';
- switch(level) {
- case LogLevel.INFO:
- levelColor = Colors.green;
- break;
- case LogLevel.ERROR:
- levelColor = Colors.red;
- break;
- case LogLevel.WARN:
- levelColor = Colors.yellow;
- break;
- }
- console.log(`[${time}] ` + `${levelColor}${level}${Colors.reset} ` + `${Colors.cyan}${message}${Colors.reset}`);
- }
- public info(message: string): void {
- this.log(LogLevel.INFO, message);
- }
- public error(message: string): void {
- this.log(LogLevel.ERROR, message);
- }
- public warn(message: string): void {
- this.log(LogLevel.WARN, message);
- }
- }
- export { Logger };
|