From 5b0a227382b2f519f12c93e41220394cdb851537 Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Thu, 29 Dec 2016 23:09:21 +0900 Subject: Update logger --- src/utils/check-dependencies.ts | 7 ++++--- src/utils/logger.ts | 45 ++++++++++++++++++++++++++++++++--------- 2 files changed, 40 insertions(+), 12 deletions(-) (limited to 'src/utils') diff --git a/src/utils/check-dependencies.ts b/src/utils/check-dependencies.ts index 77665e5acc..2378041e27 100644 --- a/src/utils/check-dependencies.ts +++ b/src/utils/check-dependencies.ts @@ -1,4 +1,4 @@ -import { log } from './logger'; +import Logger from './logger'; import { exec } from 'shelljs'; export default function(): void { @@ -14,9 +14,10 @@ function checkDependency(serviceName: string, command: string, transform: (x: st notFound: 127 }; const x = exec(command, { silent: true }) as any; + let depsLogger = new Logger('Deps'); if (x.code === code.success) { - log('Info', `${serviceName} ${transform(x.stdout)} found`, 'Deps'); + depsLogger.info(`${serviceName} ${transform(x.stdout)} found`); } else if (x.code === code.notFound) { - log('Warn', `${serviceName} not found`, 'Deps'); + depsLogger.warn(`${serviceName} not found`); } } 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); + } } -- cgit v1.2.3-freya