Files
moyin eb2ff99b09 docs:重构文档结构
- 创建模块化文档系统
- 添加用户认证系统详细文档
- 添加日志系统专门文档
- 简化主README,通过链接引用子系统文档
- 提高文档的可维护性和可读性
2025-12-17 14:39:55 +08:00

1.8 KiB

日志系统

概述

项目集成了完整的日志系统,基于 Pino 高性能日志库,提供结构化日志记录、自动敏感信息过滤和多级别日志控制。

功能特性

  • 🚀 高性能日志记录
  • 🔒 自动敏感信息过滤
  • 🎯 多级别日志控制
  • 🔍 请求上下文绑定
  • 📊 结构化日志输出

使用示例

基础用法

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,支持:

  • 日志级别设置
  • 输出格式配置
  • 敏感信息过滤规则
  • 文件输出配置

敏感信息过滤

系统自动过滤以下敏感信息:

  • 密码字段
  • 令牌信息
  • 个人身份信息
  • 支付相关信息

详细使用方法请参考:后端开发规范指南 - 日志系统使用指南