温斯顿超过 maxsize 后我的日志文件不旋转
Winston js. My log files aren't rotating after exceeding maxsize
我有以下温斯顿配置:
'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
})]
})
None 个文件在达到 300 字节阈值后轮转。
您使用的版本 3.0.0
候选发布版在其 File
传输中存在错误。基本上,一旦超过 maxsize
阈值,内部 self.filename
变量不会被更新,因此 _createStream
将重新打开附加流到现有文件并继续写入它。它第一次工作是因为 self.filename
在从选项初始化时设置。
我提交了 PR 解决了这个问题。或者,如果这不是问题,您可以恢复到 2.4.0
。
我有以下温斯顿配置:
'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
})]
})
None 个文件在达到 300 字节阈值后轮转。
您使用的版本 3.0.0
候选发布版在其 File
传输中存在错误。基本上,一旦超过 maxsize
阈值,内部 self.filename
变量不会被更新,因此 _createStream
将重新打开附加流到现有文件并继续写入它。它第一次工作是因为 self.filename
在从选项初始化时设置。
我提交了 PR 解决了这个问题。或者,如果这不是问题,您可以恢复到 2.4.0
。