我有以下winston配置:
'use strict'
import winston from 'winston'
import config from '../../config/environment'
export default winston.createLogger({
level: 'info',
format: winston.format.printf(info => info.message),
transports: [
new winston.transports.Console(),
new winston.transports.File({
filename: `${config.logsPath}/express.error.log`,
maxsize: 300,
level: 'error'
}),
new winston.transports.File({
filename: `${config.logsPath}/express.log`,
maxsize: 300
})]
})
这些文件在达到300字节阈值后都没有旋转。
答案 0 :(得分:5)
您正在使用版本3.0.0
版本候选版本,其File
传输中存在错误。基本上,一旦超过maxsize
阈值,内部self.filename
变量就不会被更新,因此_createStream
会重新打开现有文件的追加流并继续写入它。它第一次工作,因为在从选项初始化时设置了self.filename
。
我已提交PR来解决问题。或者,您可以恢复2.4.0
,这不是问题。