Files
whale-town-end/docs/systems/logger
moyin e58cc57769 docs:重新组织系统文档结构
- 将日志系统文档移动到 docs/systems/logger/detailed-specification.md
- 将邮箱验证部署指南移动到 docs/systems/email-verification/deployment-guide.md
- 创建邮箱验证系统完整文档 docs/systems/email-verification/README.md
- 按功能模块组织文档,提高可维护性
2025-12-17 20:20:00 +08:00
..
2025-12-17 14:39:55 +08:00

日志系统

概述

项目集成了完整的日志系统,基于 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,支持:

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

敏感信息过滤

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

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

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