log4js配置出错:必须有一个属性" appenders"类型对象

时间:2017-07-17 21:00:24

标签: protractor log4js-node

我收到错误:log4js配置问题:({appenders:    [{type:' logLevelFilter',        级别:' INFO',        appenders:{type:' console' }) - 必须有一个属性" appenders"类型对象。

我的protractor.conf.js文件片段:

beforeLaunch:function(){
    log4js.configure({
        appenders: 
        [{ type: 'log4js-protractor-appender', 
category: 'protractorLog4js' },
            {
                type: "file",
                filename: './logs/ExecutionLog.log',
                category: 'protractorLog4js'
            }
        ]
    });
  },

我不知道为什么即使在conf中有appender我也会收到此错误。

3 个答案:

答案 0 :(得分:4)

版本1.x中的log4js-node使用与您类似的格式:

appenders:[] // Array

但版本2.x中的对象如下:

appenders: {
    cheeseLogs: { type: 'file', filename: 'cheese.log' },
    console: { type: 'console' }
  },
 categories: {
    cheese: { appenders: ['cheeseLogs'], level: 'error' },
    another: { appenders: ['console'], level: 'trace' },
    default: { appenders: ['console', 'cheeseLogs'], level: 'trace' }
}

https://github.com/nomiddlename/log4js-node

答案 1 :(得分:4)

在新版本中,您的appender将如下所示:

appenders: {
fileLog: { type: 'file', filename: './logs/ExecutionLog.log' },
console: { type: 'log4js-protractor-appender' }
},
categories: {
file: { appenders: ['fileLog'], level: 'error' },
another: { appenders: ['console'], level: 'trace' },
default: { appenders: ['console', 'fileLog'], level: 'trace' }
}

答案 2 :(得分:1)

版本2.x中的配置格式已更改

https://github.com/nomiddlename/log4js-node/issues/500