qw-utils
Version:
qw Utils package
44 lines (43 loc) • 1.32 kB
JavaScript
;
/**
* bunyan日志库工具类,避免使用console.log,以减少日志操作对系统性能的影响
*/
Object.defineProperty(exports, "__esModule", { value: true });
class Logger {
constructor(logLevel = 2 /* LogLevel.INFO */) {
this.logLevel = logLevel;
}
info(message, ...args) {
if (this.logLevel >= LogLevel.INFO) {
this.log(LogLevel.INFO, message, args);
}
}
warn(message, ...args) {
if (this.logLevel >= LogLevel.WARN) {
this.log(LogLevel.WARN, message, args);
}
}
error(error, ...args) {
if (this.logLevel >= LogLevel.ERROR) {
const message = error ? error.message : 'Unknown error occurred';
this.log(LogLevel.ERROR, message, args);
}
}
log(level, message, args) {
const logLine = `[${LogLevel[level]}] ${message}`;
if (args.length > 0) {
console.log(logLine, args);
}
else {
console.log(logLine);
}
}
}
var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
LogLevel[LogLevel["INFO"] = 1] = "INFO";
LogLevel[LogLevel["WARN"] = 2] = "WARN";
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
})(LogLevel || (LogLevel = {}));
exports.default = Logger;