Provider logging

This commit is contained in:
Nick Farina
2015-07-16 08:44:04 -07:00
parent 891d4033e8
commit 342a7ccc98
4 changed files with 59 additions and 4 deletions

27
lib/logger.js Normal file
View File

@@ -0,0 +1,27 @@
import log from 'npmlog';
// global cache of logger instances by provider name
let loggerCache = {};
export class Logger {
constructor(providerName: string) {
this.providerName = providerName;
}
info(msg: string) {
log.info(`[${this.providerName}] ${msg}`);
}
warn(msg: string) {
log.warn(`[${this.providerName}] ${msg}`);
}
error(msg: string) {
log.error(`[${this.providerName}] ${msg}`);
}
static forProvider(providerName: string):Logger {
return loggerCache[providerName] || (loggerCache[providerName] = new Logger(providerName));
}
}