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
|
||||||
|
*.log.gz
|
||||||
|
logs/
|
||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
|
|
||||||
# 操作系统
|
# 操作系统
|
||||||
|
|||||||
@@ -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"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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',
|
|
||||||
|
|
||||||
// 开发环境使用美化输出
|
|
||||||
transport: process.env.NODE_ENV !== 'production' ? {
|
|
||||||
target: 'pino-pretty',
|
|
||||||
options: {
|
|
||||||
colorize: true,
|
|
||||||
translateTime: 'SYS:standard',
|
|
||||||
ignore: 'pid,hostname',
|
|
||||||
},
|
},
|
||||||
} : undefined,
|
inject: [ConfigService],
|
||||||
|
|
||||||
// 自定义序列化器,过滤敏感信息
|
|
||||||
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 {}
|
||||||
|
|||||||
Reference in New Issue
Block a user