UNPKG

heybox-bot

Version:

A heybox chat bot frame

44 lines 2.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerFactory = void 0; // 导入winston库中的createLogger、Logger、transports和format模块,以及dayjs库 const winston_1 = require("winston"); const dayjs_1 = __importDefault(require("dayjs")); // 定义LoggerFactory类 class LoggerFactory { /** * 创建一个Logger实例 * * @param name 日志的名称,用于在日志条目中标识,可选,默认为undefined * @param path 日志文件的存储路径,可选,默认为当前工作目录 * @param logLevel 日志级别,可选,默认为'info',可选值包括'debug'、'info'、'warn'和'error' * @returns 返回一个配置好的Logger实例 */ static createLogger(name = undefined, path = process.cwd(), logLevel = 'info') { // 使用winston的createLogger方法创建并返回一个Logger实例 return (0, winston_1.createLogger)({ // 设置日志级别 level: logLevel, // 配置日志传输(输出)的方式,包括控制台和文件 transports: [ // 配置控制台日志输出 new winston_1.transports.Console({ // 结合颜色格式化和自定义打印格式 format: winston_1.format.combine(winston_1.format.colorize(), winston_1.format.printf(info => `[${(0, dayjs_1.default)().format('YYYY-MM-DD HH:mm:ss')}]${name ? `[${name}]` : ''}[${info.level}] ${info.message}`)) }), // 配置文件日志输出 new winston_1.transports.File({ // 指定日志文件的名称和路径 filename: `${path}/latest.log`, // 使用自定义打印格式 format: winston_1.format.printf(info => `[${(0, dayjs_1.default)().format('YYYY-MM-DD HH:mm:ss')}]${name ? `[${name}]` : ''}[${info.level}] ${info.message}`) }) ] }); } } exports.LoggerFactory = LoggerFactory; //# sourceMappingURL=index.js.map