From 5353a956d17cd1b02f92c3de1e2bd11b8636160b Mon Sep 17 00:00:00 2001 From: moyin <244344649@qq.com> Date: Sat, 13 Dec 2025 16:44:25 +0800 Subject: [PATCH] =?UTF-8?q?chore=EF=BC=9A=E5=AE=8C=E5=96=84=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E7=B3=BB=E7=BB=9F=E9=9B=86=E6=88=90=E5=92=8C=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新日志模块集成新的配置和管理服务 - 添加定时任务依赖 @nestjs/schedule - 更新 .gitignore 忽略日志文件和压缩文件 - 移除不兼容的日志轮转依赖 --- .gitignore | 2 ++ package.json | 2 ++ src/core/utils/logger/logger.module.ts | 42 +++++++------------------- 3 files changed, 15 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index ed2a267..e110325 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ build/ # 日志 *.log +*.log.gz +logs/ pnpm-debug.log* # 操作系统 diff --git a/package.json b/package.json index eeb6e1b..af81d25 100644 --- a/package.json +++ b/package.json @@ -27,9 +27,11 @@ "@nestjs/core": "^10.4.20", "@nestjs/platform-express": "^10.4.20", "@nestjs/platform-socket.io": "^10.4.20", + "@nestjs/schedule": "^4.1.2", "@nestjs/websockets": "^10.4.20", "nestjs-pino": "^4.5.0", "pino": "^10.1.0", + "reflect-metadata": "^0.1.14", "rxjs": "^7.8.2" }, diff --git a/src/core/utils/logger/logger.module.ts b/src/core/utils/logger/logger.module.ts index 3dc5acd..8195333 100644 --- a/src/core/utils/logger/logger.module.ts +++ b/src/core/utils/logger/logger.module.ts @@ -18,9 +18,12 @@ */ import { Module } from '@nestjs/common'; -import { ConfigModule } from '@nestjs/config'; +import { ConfigModule, ConfigService } from '@nestjs/config'; import { LoggerModule as PinoLoggerModule } from 'nestjs-pino'; +import { ScheduleModule } from '@nestjs/schedule'; import { AppLoggerService } from './logger.service'; +import { LoggerConfigFactory } from './logger.config'; +import { LogManagementService } from './log-management.service'; /** * 日志模块类 @@ -43,39 +46,16 @@ import { AppLoggerService } from './logger.service'; @Module({ imports: [ ConfigModule, + ScheduleModule.forRoot(), PinoLoggerModule.forRootAsync({ imports: [ConfigModule], - useFactory: () => ({ - pinoHttp: { - // 根据环境设置日志级别 - level: process.env.NODE_ENV === 'production' ? 'info' : 'debug', - - // 开发环境使用美化输出 - transport: process.env.NODE_ENV !== 'production' ? { - target: 'pino-pretty', - options: { - colorize: true, - translateTime: 'SYS:standard', - ignore: 'pid,hostname', - }, - } : undefined, - - // 自定义序列化器,过滤敏感信息 - serializers: { - req: (req) => ({ - method: req.method, - url: req.url, - headers: req.headers, - }), - res: (res) => ({ - statusCode: res.statusCode, - }), - }, - }, - }), + useFactory: (configService: ConfigService) => { + return LoggerConfigFactory.createLoggerConfig(configService); + }, + inject: [ConfigService], }), ], - providers: [AppLoggerService], - exports: [AppLoggerService], + providers: [AppLoggerService, LogManagementService], + exports: [AppLoggerService, LogManagementService], }) export class LoggerModule {}