UNPKG

node-karin

Version:

Lightweight, efficient, concise, and stable robot framework.

110 lines (107 loc) 3.96 kB
import EventEmitter from 'events'; import chalk__default from 'chalk'; import { Logger as Logger$1 } from 'log4js'; /** * @description 所有日志等级 * @description 请使用`LogMethodNames`类型来获取日志方法名称 */ type LoggerLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'mark' | 'off'; /** 日志方法名称 */ type LogMethodNames = Exclude<LoggerLevel, 'off'>; /** 仅包含日志方法的Logger类型 */ type LogMethodsOnly = Pick<Logger, LogMethodNames>; /** * @description 日志接口 */ interface Logger extends Logger$1 { /** @description chalk模块 */ chalk: typeof chalk__default; /** @description 将文本设置为红色 */ red: typeof chalk__default.red; /** @description 将文本设置为绿色 */ green: typeof chalk__default.green; /** @description 将文本设置为黄色 */ yellow: typeof chalk__default.yellow; /** @description 将文本设置为蓝色 */ blue: typeof chalk__default.blue; /** @description 将文本设置为品红色 */ magenta: typeof chalk__default.magenta; /** @description 将文本设置为青色 */ cyan: typeof chalk__default.cyan; /** @description 将文本设置为白色 */ white: typeof chalk__default.white; /** @description 将文本设置为灰色 */ gray: typeof chalk__default.gray; /** @description 将文本设置为紫色 */ violet: ReturnType<typeof chalk__default.hex>; /** @description 将文本设置为触发函数的颜色 */ fnc: ReturnType<typeof chalk__default.hex>; /** * @description 打印Bot前缀日志 * @param level - 日志等级 * @param id - Bot ID * @param args - 日志内容 */ bot: (level: LogMethodNames, id: string, ...args: any[]) => void; /** @description 打印追踪日志 */ trace(...args: any[]): void; /** @description 打印调试日志 */ debug(...args: any[]): void; /** @description 打印信息日志 */ info(...args: any[]): void; /** @description 打印警告日志 */ warn(...args: any[]): void; /** @description 打印错误日志 */ error(...args: any[]): void; /** @description 打印致命日志 */ fatal(...args: any[]): void; /** @description 打印标记日志 */ mark(...args: any[]): void; /** @description 关闭日志 */ off(): void; /** @description 打印日志 跟`info`日志相同 */ log(...args: any[]): void; } /** * @description 文件日志配置 */ interface FileLogConfig { /** @description 是否启用文件日志 @default false */ enabled: boolean; /** @description 日志文件目录 @default 'logs' */ dir: string; /** @description 文件日志级别(默认与控制台相同) */ level?: LoggerLevel; /** @description 日志文件保留天数 @default 14 */ daysToKeep: number; /** * @description 是否启用整体化模式(按日期每天一个日志文件) * @default true */ enableWholeMode: boolean; /** * @description 是否启用碎片化模式(按大小分片) * @default false */ enableFragmentMode: boolean; /** @description 碎片化模式下,单个日志文件的最大大小(MB) @default 10 */ maxFileSize: number; /** @description 是否单独保存错误和致命日志 @default true */ separateErrorLog: boolean; } /** * @description 日志配置 */ interface LoggerConfig { /** @description 日志级别 @default 'info' */ level: LoggerLevel; /** @description `logger.fnc`自定义颜色 @default '#FFFF00' */ color?: string; /** @description 文件日志配置 */ file: FileLogConfig; } /** * @description 默认配置 */ declare const DEFAULT_LOGGER_CONFIG: LoggerConfig; export { DEFAULT_LOGGER_CONFIG as D, type FileLogConfig as F, type Logger as L, type LoggerLevel as a, type LogMethodNames as b, type LogMethodsOnly as c, type LoggerConfig as d };