温斯顿js.超过maxsize后,我的日志文件没有旋转

Fra*_*ías 6 javascript logging node.js winston

我有以下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
    })]
})
Run Code Online (Sandbox Code Playgroud)

这些文件在达到300字节阈值后都没有旋转.

Ung*_*ilz 5

您正在使用版本3.0.0发布候选版本,其File传输中存在错误.基本上,一旦超过maxsize阈值,内部self.filename变量就不会被更新,所以_createStream会重新打开现有文件的追加流并继续写入它.它是第一次工作,因为self.filename在从选项初始化时设置.

我已经提交了一份解决问题的公关.或者,您可以恢复到2.4.0这不是问题的位置.