diff options
Diffstat (limited to 'src/utils/logger.ts')
| -rw-r--r-- | src/utils/logger.ts | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/src/utils/logger.ts b/src/utils/logger.ts index 495035d478..ebfa3c34fe 100644 --- a/src/utils/logger.ts +++ b/src/utils/logger.ts @@ -10,17 +10,44 @@ function toLevelColor(level: LogLevel): chalk.ChalkStyle { } } -export function log(message: string): void; -export function log(level: LogLevel, message: string): void; -export function log(level: LogLevel, message: string, domain: string): void; -export function log(x: string | LogLevel, message?: string, domain?: string): void { - const level = typeof message == 'undefined' ? 'Info' : x as LogLevel; - message = typeof message == 'undefined' ? x : message; - if (typeof domain == 'string') { - log(level, `[${domain}] ${message}`); - } else { +export default class Logger { + domain: string; + + static log(level: LogLevel, message: string): void { let color = toLevelColor(level); let time = (new Date()).toLocaleTimeString('ja-JP'); console.log(`[${time} ${color.bold(level.toUpperCase())}]: ${message}`); } + + static error(message: string): void { + Logger.log('Error', message); + } + + static warn(message: string): void { + Logger.log('Warn', message); + } + + static info(message: string): void { + Logger.log('Info', message); + } + + constructor(domain: string) { + this.domain = domain; + } + + log(level: LogLevel, message: string): void { + Logger.log(level, `[${this.domain}] ${message}`); + } + + error(message: string): void { + this.log('Error', message); + } + + warn(message: string): void { + this.log('Warn', message); + } + + info(message: string): void { + this.log('Info', message); + } } |