Logger - 日志记录
日志记录是调试程序的重要手段,EasyBot 提供了简单的日志记录功能,该接口是对 Serilog 的简单封装。
logger 命名空间
info()
记录信息级别日志。
语法:
logger.info(message: string): voidlogger.info(message: string, ...args: any[]): void
参数:
message- 日志消息或格式化字符串args- 格式化参数(可选)
示例:
// 简单信息日志
logger.info("插件已启动");
// 带格式化参数的日志
logger.info("用户 {0} 发送了消息: {1}", "张三", "Hello World");
// 使用变量
const userName = "李四";
const messageCount = 5;
logger.info("用户 {0} 今天发送了 {1} 条消息", userName, messageCount);
warning()
记录警告级别日志。
语法:
logger.warning(message: string): voidlogger.warning(message: string, ...args: any[]): void
参数:
message- 日志消息或格式化字符串args- 格式化参数(可选)
示例:
// 简单警告日志
logger.warning("配置文件缺少某些选项,使用默认值");
// 带格式化参数的警告
logger.warning("用户 {0} 尝试执行未授权操作: {1}", "恶意用户", "删除文件");
// 性能警告
const responseTime = 5000;
logger.warning("API响应时间过长: {0}ms", responseTime);
error()
记录错误级别日志。
语法:
logger.error(message: string): voidlogger.error(message: string, ...args: any[]): void
参数:
message- 日志消息或格式化字符串args- 格式化参数(可选)
示例:
// 简单错误日志
logger.error("数据库连接失败");
// 带格式化参数的错误
logger.error("处理用户 {0} 的请求时发生错误: {1}", "user123", "网络超时");
// 异常处理中的错误日志
try {
// 一些可能出错的操作
const result = await someAsyncOperation();
} catch (error) {
logger.error("操作失败: {0}", error.message);
}
日志级别说明
Info(信息)
- 用途: 记录程序正常运行的信息
- 场景: 启动消息、用户操作、状态变更等
- 颜色: 通常为白色或蓝色
Warning(警告)
- 用途: 记录可能的问题或异常情况
- 场景: 配置问题、性能警告、用户权限不足等
- 颜色: 通常为黄色
Error(错误)
- 用途: 记录严重错误和异常
- 场景: 系统错误、网络故障、数据处理失败等
- 颜色: 通常为红色
格式化字符串
EasyBot 的日志系统支持 .NET 风格的字符串格式化:
// 使用 {0}, {1}, {2} 等占位符
logger.info("用户 {0} 在群 {1} 中发送了 {2} 条消息", userName, groupId, count);
// 占位符按参数顺序对应
logger.warning("操作 {0} 耗时 {1}ms,超过阈值 {2}ms", operation, time, threshold);