forked from datawhale/whale-town-end
chore:完善日志系统集成和依赖管理
- 更新日志模块集成新的配置和管理服务 - 添加定时任务依赖 @nestjs/schedule - 更新 .gitignore 忽略日志文件和压缩文件 - 移除不兼容的日志轮转依赖
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -14,6 +14,8 @@ build/
|
||||
|
||||
# 日志
|
||||
*.log
|
||||
*.log.gz
|
||||
logs/
|
||||
pnpm-debug.log*
|
||||
|
||||
# 操作系统
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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',
|
||||
useFactory: (configService: ConfigService) => {
|
||||
return LoggerConfigFactory.createLoggerConfig(configService);
|
||||
},
|
||||
} : undefined,
|
||||
|
||||
// 自定义序列化器,过滤敏感信息
|
||||
serializers: {
|
||||
req: (req) => ({
|
||||
method: req.method,
|
||||
url: req.url,
|
||||
headers: req.headers,
|
||||
}),
|
||||
res: (res) => ({
|
||||
statusCode: res.statusCode,
|
||||
}),
|
||||
},
|
||||
},
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
],
|
||||
providers: [AppLoggerService],
|
||||
exports: [AppLoggerService],
|
||||
providers: [AppLoggerService, LogManagementService],
|
||||
exports: [AppLoggerService, LogManagementService],
|
||||
})
|
||||
export class LoggerModule {}
|
||||
|
||||
Reference in New Issue
Block a user