qw-utils
Version:
qw Utils package
45 lines (44 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.loggerUtils = void 0;
/**
* 日志工具类,统一管理日志
*/
class loggerUtils {
constructor(logLevel = 'info') {
this.enabled = true;
this.logLevel = logLevel;
}
disable() {
this.enabled = false;
}
enable() {
this.enabled = true;
}
info(message, ...args) {
if (this.enabled && (this.logLevel === 'debug' || this.logLevel === 'info')) {
this.log('INFO', message, args);
}
}
warn(message, ...args) {
if (this.enabled && (this.logLevel === 'debug' || this.logLevel === 'info' || this.logLevel === 'warn')) {
this.log('WARN', message, args);
}
}
error(error, ...args) {
if (this.enabled && this.logLevel !== 'silent') {
const message = error ? error.message : 'Unknown error occurred';
this.log('ERROR', message, args);
}
}
log(level, message, args) {
const logLine = `[${level}] ${message}`;
if (args.length > 0) {
console.log(logLine, args);
}
else {
console.log(logLine);
}
}
}
exports.loggerUtils = loggerUtils;