7-2 日志报错
来源:7-2 通用模板项目:全局日志模块
慕尼黑8466541
2024-12-02
老师,您好!
7-2章节,日志报错,详情如下,请老师指点迷津。
版本信息:
"winston": "^3.17.0",
"nest-winston": "^1.9.7",
"winston-daily-rotate-file": "^5.0.0"
createRotateTransport.ts
import DailyRotateFile from 'winston-daily-rotate-file'
import { format } from 'winston'
import { Console } from 'winston/lib/winston/transports'
import { utilities } from 'nest-winston'
export const consoleTransports = new Console({
level: 'info',
format: format.combine(
format.timestamp(),
format.ms(),
utilities.format.nestLike('Winston')
)
})
export function createRotateTransport(level: string, fileName: string) {
return new DailyRotateFile({
level,
dirname: 'logs',
filename: `${fileName}-%DATE%.log`,
datePattern: 'YYYY-MM-DD-HH',
zippedArchive: true,
maxSize: '20m',
maxFiles: '14d',
format: format.combine(format.timestamp(), format.simple())
})
}
logs.module.ts
import { Module } from '@nestjs/common'
import { ConfigService } from '@nestjs/config'
import { WinstonModule } from 'nest-winston'
import {
consoleTransports,
createRotateTransport
} from './createRotateTransport'
@Module({
imports: [
WinstonModule.forRootAsync({
inject: [ConfigService],
useFactory: (configService: ConfigService) => {
const logOn = configService.get('LOG_ON') === 'true'
return {
transports: [
consoleTransports,
...(logOn
? [
createRotateTransport('info', 'application'),
createRotateTransport('warn', 'error')
]
: [])
]
}
}
})
]
})
export class LogsModule {}
报错:
[Nest] 20267 - 2024/12/02 16:04:49 ERROR [ExceptionHandler] winston_daily_rotate_file_1.default is not a constructor
TypeError: winston_daily_rotate_file_1.default is not a constructor
at createRotateTransport (/Users/shiyupeng/developer/nest/test-api/src/common/logger/createRotateTransport.ts:16:10)
at InstanceWrapper.useFactory (/Users/shiyupeng/developer/nest/test-api/src/common/logger/logs.module.ts:20:40)
at Injector.instantiateClass (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/injector.js:376:55)
at callback (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/injector.js:65:45)
at async Injector.resolveConstructorParams (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/injector.js:145:24)
at async Injector.loadInstance (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/injector.js:70:13)
at async Injector.loadProvider (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/injector.js:98:9)
at async /Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/instance-loader.js:56:13
at async Promise.all (index 5)
at async InstanceLoader.createInstancesOfProviders (/Users/shiyupeng/developer/nest/test-api/node_modules/@nestjs/core/injector/instance-loader.js:55:9)
写回答
2回答
-
Brian
2025-01-08
https://git.imooc.com/coding-905/nestjs-starter/src/main/package.json 有没有尝试课程代码?
原因:ESModule 和 CommonJS 导入不匹配
import * as DailyRotateFile from 'winston-daily-rotate-file';
你这样试试?
00 -
慕尼黑8466541
提问者
2024-12-02
在最后的章节有解决
00
相似问题