@re-ai/volc-knowledge
Version:
火山引擎知识库接口接入SDK
85 lines (84 loc) • 2.77 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
const chalk_1 = __importDefault(require("chalk"));
/**
* 彩色日志工具
* @param options 日志配置
*/
class Logger {
constructor(options = {}) {
this.level = options.level || process.env.REAI_VOLC_KL_LOG_LEVEL || 'debug';
this.timestamp = options.timestamp !== false;
}
getTimestamp() {
return new Date().toISOString();
}
formatMessage(level, ...messages) {
let coloredLevel;
let formattedMessage = messages.map(msg => typeof msg === 'object' ? JSON.stringify(msg) : msg).join(' ');
switch (level) {
case 'debug':
coloredLevel = chalk_1.default.green(level.toUpperCase());
formattedMessage = chalk_1.default.green(formattedMessage);
break;
case 'info':
coloredLevel = chalk_1.default.blue(level.toUpperCase());
formattedMessage = chalk_1.default.blue(formattedMessage);
break;
case 'warn':
coloredLevel = chalk_1.default.yellow(level.toUpperCase());
formattedMessage = chalk_1.default.yellow(formattedMessage);
break;
case 'error':
coloredLevel = chalk_1.default.red(level.toUpperCase());
formattedMessage = chalk_1.default.red(formattedMessage);
break;
}
const parts = [];
if (this.timestamp) {
parts.push(`[${this.getTimestamp()}]`);
}
parts.push(`[${coloredLevel}]`);
parts.push(formattedMessage);
return parts.join(' ');
}
/**
* 打印调试日志
* @param message 日志内容
*/
debug(...messages) {
if (this.level === 'debug') {
console.log(this.formatMessage('debug', ...messages));
}
}
/**
* 打印信息日志
* @param message 日志内容
*/
info(...messages) {
if (['debug', 'info'].includes(this.level)) {
console.log(this.formatMessage('info', ...messages));
}
}
/**
* 打印警告日志
* @param message 日志内容
*/
warn(...messages) {
if (['debug', 'info', 'warn'].includes(this.level)) {
console.warn(this.formatMessage('warn', ...messages));
}
}
/**
* 打印错误日志
* @param message 日志内容
*/
error(...messages) {
console.error(this.formatMessage('error', ...messages));
}
}
exports.logger = new Logger();