2

您好,我有以下 log4js 配置:

const defaultPath = './logs/notif.log'
const defaultFormat = '"%d{yyyyMMddhhmmssSSS}","%p","%x{user}","%m"'

module.exports = (level = 'debug', path = defaultPath, format = defaultFormat, compress = true) => {
  const log4js = require('log4js')
  const user = require('os').userInfo().username

  const layout = {
    type: 'pattern',
    pattern: format,
    tokens: {
      user: user,
    },
  }

  log4js.configure({
    appenders: {
      stdout: {
        type: 'stdout',
        layout: layout,
      },
      file: {
        type: 'dateFile',
        filename: path,
        pattern: '.yyyyMMdd',
        compress: compress,
        layout: layout,
      },
      logFilter: {
        type: 'logLevelFilter',
        appender: 'file',
        level: 'info',
      },
    },
    categories: {
      default: {
        appenders: ['stdout', 'logFilter'],
        level: level,
      },
    },
  })
  return log4js.getLogger()
}

我的问题是,当我重新启动程序时,它会从 DateFile 中删除内容并“重新”开始。

当前设置是否可以在应用程序重新启动时附加到 DateFile 直到其翻转?

google 真的很难,因为 90% 的匹配是针对 log4j 而不是针对 log4js。Kudo 的名字给予者!

4

0 回答 0