diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-07-07 19:19:00 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-07-07 19:19:00 +0900 |
| commit | aa4ef6745ad798bd7d4f05cb397ef1dd85279814 (patch) | |
| tree | d34ded516f52b91c4ff1a5443776ce22d8f483f0 /src/misc/logger.ts | |
| parent | Refactorijg (diff) | |
| download | misskey-aa4ef6745ad798bd7d4f05cb397ef1dd85279814.tar.gz misskey-aa4ef6745ad798bd7d4f05cb397ef1dd85279814.tar.bz2 misskey-aa4ef6745ad798bd7d4f05cb397ef1dd85279814.zip | |
Refactorng
Diffstat (limited to 'src/misc/logger.ts')
| -rw-r--r-- | src/misc/logger.ts | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/misc/logger.ts b/src/misc/logger.ts new file mode 100644 index 0000000000..fae1042c39 --- /dev/null +++ b/src/misc/logger.ts @@ -0,0 +1,53 @@ +import chalk, { Chalk } from 'chalk'; + +export type LogLevel = 'Error' | 'Warn' | 'Info'; + +function toLevelColor(level: LogLevel): Chalk { + switch (level) { + case 'Error': return chalk.red; + case 'Warn': return chalk.yellow; + case 'Info': return chalk.blue; + } +} + +export default class Logger { + private domain: string; + + constructor(domain: string) { + this.domain = domain; + } + + public static log(level: LogLevel, message: string): void { + const color = toLevelColor(level); + const time = (new Date()).toLocaleTimeString('ja-JP'); + console.log(`[${time} ${color.bold(level.toUpperCase())}]: ${message}`); + } + + public static error(message: string): void { + Logger.log('Error', message); + } + + public static warn(message: string): void { + Logger.log('Warn', message); + } + + public static info(message: string): void { + Logger.log('Info', message); + } + + public log(level: LogLevel, message: string): void { + Logger.log(level, `[${this.domain}] ${message}`); + } + + public error(message: string): void { + this.log('Error', message); + } + + public warn(message: string): void { + this.log('Warn', message); + } + + public info(message: string): void { + this.log('Info', message); + } +} |