cursor-init/docs/winston.md
expressgy 2ee70e5d42 feat: 完成健康检查接口和Swagger文档完善
 健康检查功能:
- 实现完整的健康检查接口(/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文档功能测试
2025-06-28 22:09:02 +08:00

79 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Winston 支持以下 7 个日志等级(按优先级从高到低排序):
## 📊 Winston 日志级别
| 级别 | 优先级 | 描述 | 使用场景 |
| ----------- | ------ | ------ | -------------------- |
| **error** | 0 | 错误 | 系统错误、异常、崩溃 |
| **warn** | 1 | 警告 | 潜在问题、性能警告 |
| **info** | 2 | 信息 | 一般信息、重要事件 |
| **http** | 3 | HTTP | HTTP 请求/响应日志 |
| **verbose** | 4 | 详细 | 详细操作信息 |
| **debug** | 5 | 调试 | 调试信息、开发阶段 |
| **silly** | 6 | 最详细 | 极其详细的调试信息 |
## 🎯 级别过滤机制
当你设置日志级别时Winston 会记录**该级别及更高优先级**的所有日志:
```typescript
// 如果设置 level: 'warn'
logger.level = 'warn';
logger.error('会被记录'); // ✅ 优先级 0
logger.warn('会被记录'); // ✅ 优先级 1
logger.info('不会被记录'); // ❌ 优先级 2
logger.debug('不会被记录'); // ❌ 优先级 5
```
## 💡 在你的日志器中使用
你可以更新日志器类来支持所有级别:
```typescript
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);
}
}
```
## 🔧 常用配置
```typescript
// 生产环境:只记录重要信息
level: 'warn'; // 记录 error, warn
// 开发环境:记录详细信息
level: 'debug'; // 记录 error, warn, info, http, verbose, debug
// 调试模式:记录所有信息
level: 'silly'; // 记录所有级别
```
这样你就可以根据不同环境灵活控制日志的详细程度了!