✅ 健康检查功能: - 实现完整的健康检查接口(/api/health, /api/health/detailed) - 支持MySQL和Redis依赖状态检查 - 包含系统信息、性能指标监控 - 修复this上下文问题,确保服务方法正常调用 - 添加全面的健康检查测试用例 📝 Swagger文档优化: - 创建全局响应Schema定义和错误码说明 - 完善API文档,包含详细的错误码表格 - 添加JWT认证说明和响应格式示例 - 增加全局组件、响应模板和示例 - 创建Swagger文档功能测试 🎯 任务完成: - ✅ 5.0 健康检查接口 - 实现系统和依赖健康状态监控 - ✅ 7.0 Swagger文档完善 - 增加全局响应示例和错误码说明 📁 新增文件: - src/controllers/health.controller.ts - 健康检查控制器 - src/services/health.service.ts - 健康检查服务层 - src/type/health.type.ts - 健康检查类型定义 - src/validators/health.response.ts - 健康检查响应验证 - src/validators/global.response.ts - 全局响应Schema定义 - src/tests/health.test.ts - 健康检查功能测试 - src/tests/redis.test.ts - Redis连接测试 - src/tests/swagger.test.ts - Swagger文档功能测试
2.1 KiB
2.1 KiB
Winston 支持以下 7 个日志等级(按优先级从高到低排序):
📊 Winston 日志级别
级别 | 优先级 | 描述 | 使用场景 |
---|---|---|---|
error | 0 | 错误 | 系统错误、异常、崩溃 |
warn | 1 | 警告 | 潜在问题、性能警告 |
info | 2 | 信息 | 一般信息、重要事件 |
http | 3 | HTTP | HTTP 请求/响应日志 |
verbose | 4 | 详细 | 详细操作信息 |
debug | 5 | 调试 | 调试信息、开发阶段 |
silly | 6 | 最详细 | 极其详细的调试信息 |
🎯 级别过滤机制
当你设置日志级别时,Winston 会记录该级别及更高优先级的所有日志:
// 如果设置 level: 'warn'
logger.level = 'warn';
logger.error('会被记录'); // ✅ 优先级 0
logger.warn('会被记录'); // ✅ 优先级 1
logger.info('不会被记录'); // ❌ 优先级 2
logger.debug('不会被记录'); // ❌ 优先级 5
💡 在你的日志器中使用
你可以更新日志器类来支持所有级别:
export class Logger {
static error(message: string): void {
logger.error(message);
}
static warn(message: string): void {
logger.warn(message);
}
static info(message: string): void {
logger.info(message);
}
static http(message: string): void {
logger.http(message);
}
static verbose(message: string): void {
logger.verbose(message);
}
static debug(message: string): void {
logger.debug(message);
}
static silly(message: string): void {
logger.silly(message);
}
}
🔧 常用配置
// 生产环境:只记录重要信息
level: 'warn'; // 记录 error, warn
// 开发环境:记录详细信息
level: 'debug'; // 记录 error, warn, info, http, verbose, debug
// 调试模式:记录所有信息
level: 'silly'; // 记录所有级别
这样你就可以根据不同环境灵活控制日志的详细程度了!