nodejs的日志 log4js如何配置呢
发布于 11 年前 作者 yanglinnie 34207 次浏览 最后一次编辑是 8 年前
var log4js = require('log4js');

log4js.configure({
    appenders: [
    { type: 'console' },
    {
        type: 'dateFile',
        filename: 'logs/pattern_yyyy-MM-dd.log',
        //filename: "blah.log",
        pattern: "-yyyy-MM-dd",

        maxLogSize: 1024,
        // "pattern": "-yyyy-MM-dd",
        alwaysIncludePattern: false,

        backups: 4,
        category: 'normal'
    },
  ],
  replaceConsole: true
});

不能生成以日期命名的日志

7 回复

我在项目中也遇到了同样的问题,匹配到秒或者分的pattern可以自动生成新文件,可是,我改成yyyy-mm-dd的格式后,第二天启动项目,依然在老文件中追加日志,不会自动生成新的日志文件.

同样 求助!!

同样遇到这个问题。。

将alwaysIncludePattern修改为true就可以了,生成格式如access.log-2014-06-05, 看起来有点别扭,至于生成access_2014-06-05.log格式的文件暂未找到方法 log4js.configure({ appenders: [ { type: ‘dateFile’, absolute: true, filename: __dirname + ‘./logs/access.log’, maxLogSize: 1024 * 1024, backup: 3, pattern: “-yyyy-MM-dd”, alwaysIncludePattern: true, category: ‘normal’ } ], replaceConsole: true });

把 filename: __dirname + ‘./logs/access’, pattern:’"-yyyy-MM-dd.log’

这样就行了

想问下里面的 backups 是拿来干嘛的?

可以试试: { type: ‘dateFile’, filename: ‘logs/log’, pattern: ‘_yyyy-MM-dd.log’, alwaysIncludePattern: true, category: ‘dateFileLog’ }

{
  type: 'dateFile',
  filename: state.LogDir + '/octoo.log', // 需要手动建好目录
  // maxLogSize: 1024, // 只在 type: 'file' 中才支持
  backups: 3, // 默认为5,指定了pattern之后backups参数无效了,除非pattern是小于backups的数字,原理是不指定pattern时备份的文件是在文件名后面加'.n'的数字,n从1开始自增
  // pattern: '.yyyy-MM-dd', // 指定pattern后无限备份
  // alwaysIncludePattern: false, // 不指定pattern时若为true会使用默认值'.yyyy-MM-dd'
  category: 'octoo'
}
回到顶部