温斯顿js。超过maxsize后,我的日志文件不会旋转

时间:2017-10-12 13:55:48

标签: javascript node.js logging 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
    })]
})

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

1 个答案:

答案 0 :(得分:5)

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

我已提交PR来解决问题。或者,您可以恢复2.4.0,这不是问题。