80 lines
1.8 KiB
Markdown
80 lines
1.8 KiB
Markdown
# 日志系统
|
|
|
|
## 概述
|
|
|
|
项目集成了完整的日志系统,基于 Pino 高性能日志库,提供结构化日志记录、自动敏感信息过滤和多级别日志控制。
|
|
|
|
## 功能特性
|
|
|
|
- 🚀 高性能日志记录
|
|
- 🔒 自动敏感信息过滤
|
|
- 🎯 多级别日志控制
|
|
- 🔍 请求上下文绑定
|
|
- 📊 结构化日志输出
|
|
|
|
## 使用示例
|
|
|
|
### 基础用法
|
|
|
|
```typescript
|
|
import { AppLoggerService } from './core/utils/logger/logger.service';
|
|
|
|
@Injectable()
|
|
export class UserService {
|
|
constructor(private readonly logger: AppLoggerService) {}
|
|
|
|
async createUser(userData: CreateUserDto) {
|
|
this.logger.info('开始创建用户', {
|
|
operation: 'createUser',
|
|
email: userData.email,
|
|
timestamp: new Date().toISOString()
|
|
});
|
|
|
|
try {
|
|
const user = await this.userRepository.save(userData);
|
|
|
|
this.logger.info('用户创建成功', {
|
|
operation: 'createUser',
|
|
userId: user.id,
|
|
email: userData.email
|
|
});
|
|
|
|
return user;
|
|
} catch (error) {
|
|
this.logger.error('用户创建失败', {
|
|
operation: 'createUser',
|
|
email: userData.email,
|
|
error: error.message
|
|
}, error.stack);
|
|
|
|
throw error;
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## 日志级别
|
|
|
|
- `error`: 错误信息
|
|
- `warn`: 警告信息
|
|
- `info`: 一般信息
|
|
- `debug`: 调试信息
|
|
|
|
## 配置
|
|
|
|
日志配置位于 `src/core/utils/logger/logger.config.ts`,支持:
|
|
|
|
- 日志级别设置
|
|
- 输出格式配置
|
|
- 敏感信息过滤规则
|
|
- 文件输出配置
|
|
|
|
## 敏感信息过滤
|
|
|
|
系统自动过滤以下敏感信息:
|
|
- 密码字段
|
|
- 令牌信息
|
|
- 个人身份信息
|
|
- 支付相关信息
|
|
|
|
详细使用方法请参考:[后端开发规范指南 - 日志系统使用指南](../../backend_development_guide.md#四日志系统使用指南) |