chore:完善日志系统集成和依赖管理

- 更新日志模块集成新的配置和管理服务
- 添加定时任务依赖 @nestjs/schedule
- 更新 .gitignore 忽略日志文件和压缩文件
- 移除不兼容的日志轮转依赖
This commit is contained in:
moyin
2025-12-13 16:44:25 +08:00
parent c6ca204fae
commit 5353a956d1
3 changed files with 15 additions and 31 deletions

2
.gitignore vendored
View File

@@ -14,6 +14,8 @@ build/
# 日志 # 日志
*.log *.log
*.log.gz
logs/
pnpm-debug.log* pnpm-debug.log*
# 操作系统 # 操作系统

View File

@@ -27,9 +27,11 @@
"@nestjs/core": "^10.4.20", "@nestjs/core": "^10.4.20",
"@nestjs/platform-express": "^10.4.20", "@nestjs/platform-express": "^10.4.20",
"@nestjs/platform-socket.io": "^10.4.20", "@nestjs/platform-socket.io": "^10.4.20",
"@nestjs/schedule": "^4.1.2",
"@nestjs/websockets": "^10.4.20", "@nestjs/websockets": "^10.4.20",
"nestjs-pino": "^4.5.0", "nestjs-pino": "^4.5.0",
"pino": "^10.1.0", "pino": "^10.1.0",
"reflect-metadata": "^0.1.14", "reflect-metadata": "^0.1.14",
"rxjs": "^7.8.2" "rxjs": "^7.8.2"
}, },

View File

@@ -18,9 +18,12 @@
*/ */
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config'; import { ConfigModule, ConfigService } from '@nestjs/config';
import { LoggerModule as PinoLoggerModule } from 'nestjs-pino'; import { LoggerModule as PinoLoggerModule } from 'nestjs-pino';
import { ScheduleModule } from '@nestjs/schedule';
import { AppLoggerService } from './logger.service'; 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({ @Module({
imports: [ imports: [
ConfigModule, ConfigModule,
ScheduleModule.forRoot(),
PinoLoggerModule.forRootAsync({ PinoLoggerModule.forRootAsync({
imports: [ConfigModule], imports: [ConfigModule],
useFactory: () => ({ useFactory: (configService: ConfigService) => {
pinoHttp: { return LoggerConfigFactory.createLoggerConfig(configService);
// 根据环境设置日志级别 },
level: process.env.NODE_ENV === 'production' ? 'info' : 'debug', inject: [ConfigService],
// 开发环境使用美化输出
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,
}),
},
},
}),
}), }),
], ],
providers: [AppLoggerService], providers: [AppLoggerService, LogManagementService],
exports: [AppLoggerService], exports: [AppLoggerService, LogManagementService],
}) })
export class LoggerModule {} export class LoggerModule {}