36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
/**
|
|
* 日志工具类
|
|
*/
|
|
class Logger {
|
|
constructor(prefix = 'App') {
|
|
this.prefix = prefix;
|
|
}
|
|
formatMessage(level, message, ...args) {
|
|
const timestamp = new Date().toISOString();
|
|
const formattedArgs = args.length > 0 ? ' ' + args.map(arg => typeof arg === 'object' ? JSON.stringify(arg, null, 2) : String(arg)).join(' ') : '';
|
|
return `[${timestamp}] [${level}] [${this.prefix}] ${message}${formattedArgs}`;
|
|
}
|
|
info(message, ...args) {
|
|
console.log(this.formatMessage('INFO', message, ...args));
|
|
}
|
|
warn(message, ...args) {
|
|
console.warn(this.formatMessage('WARN', message, ...args));
|
|
}
|
|
error(message, ...args) {
|
|
console.error(this.formatMessage('ERROR', message, ...args));
|
|
}
|
|
debug(message, ...args) {
|
|
if (process.env.NODE_ENV === 'development') {
|
|
console.debug(this.formatMessage('DEBUG', message, ...args));
|
|
}
|
|
}
|
|
trace(message, ...args) {
|
|
if (process.env.NODE_ENV === 'development') {
|
|
console.trace(this.formatMessage('TRACE', message, ...args));
|
|
}
|
|
}
|
|
}
|
|
exports.default = Logger;
|
|
//# sourceMappingURL=Logger.js.map
|