Testing 如何修复量角器、log4js配置错误?

Testing 如何修复量角器、log4js配置错误?,testing,protractor,cucumber,log4j,Testing,Protractor,Cucumber,Log4j,我正在尝试运行量角器测试。但面对log4js的问题。我没有npm安装log4js。启动前配置看起来正确吗?当前版本的log4js的格式有什么需要更改的吗 以下是错误: Error: Problem with log4js configuration: ({ appenders: { out: { type: 'log4js-protractor-appender', category: 'protractorLog4js' }, app: {

我正在尝试运行量角器测试。但面对log4js的问题。我没有npm安装log4js。启动前配置看起来正确吗?当前版本的log4js的格式有什么需要更改的吗

以下是错误:

Error: Problem with log4js configuration: ({
  appenders: {
    out: {
      type: 'log4js-protractor-appender',
      category: 'protractorLog4js'
    },
    app: {
      type: 'file',
      filename: './logs/ExecutionLog.log',
      category: 'protractorLog4js'
    }
  },
  categories: { default: { appenders: [ 'out', 'app' ], level: 'info' } }
}) - appender "out" is not valid (type "log4js-protractor-appender" could not be found)
    at C:\Project\PrjectName\node_modules\log4js\lib\configuration.js:31:13
    at Array.forEach (<anonymous>)
    at Object.throwExceptionIf (C:\Project\PrjectName\node_modules\log4js\lib\configuration.js:29:9)
    at createAppender (C:\Project\PrjectName\node_modules\log4js\lib\appenders\index.js:47:17)
    at C:\Project\PrjectName\node_modules\log4js\lib\appenders\index.js:77:25
    at Array.forEach (<anonymous>)
    at setup (C:\Project\PrjectName\node_modules\log4js\lib\appenders\index.js:75:33)
    at C:\Project\PrjectName\node_modules\log4js\lib\configuration.js:46:33
    at Array.forEach (<anonymous>)
    at Object.configure (C:\Project\PrjectName\node_modules\log4js\lib\configuration.js:46:13)
npm ERR! Test failed.  See above for more details.

谢谢

log4js支持的附件类型有:

export type Appender = CategoryFilterAppender
    | ConsoleAppender
    | FileAppender
    | SyncfileAppender
    | DateFileAppender
  | LogLevelFilterAppender
  | NoLogFilterAppender
    | MultiFileAppender
    | MultiprocessAppender
    | RecordingAppender
    | StandardErrorAppender
    | StandardOutputAppender
    | CustomAppender;
如果从名称中删除“appender”,您将获得支持的类型,例如:控制台、文件、多文件。。。等

下面是一个配置示例

const log4js_config: Configuration = {
        appenders: {
            consoleErrors: {
                type: 'logLevelFilter',
                appender: 'console',
                level: 'error'
            },
            console: {
                type: 'console'
            },
        },
        categories: {
            default: { appenders: [ 'console', 'consoleErrors' ], level: 'debug' }
        }
    };

const Log4js = require('log4js');
log4js.configure(LOG4JS_CONFIGURATION);
像这样,默认类别中有两种类型的追加器

  • console appender将记录控制台中的所有内容,无论级别如何
  • consoleErrors覆盖console的其他规则,并仅过滤console的错误级别或更高级别的消息
有关log4js配置的更多信息,请参阅:

附录程序的工作方式和配置示例:

const log4js_config: Configuration = {
        appenders: {
            consoleErrors: {
                type: 'logLevelFilter',
                appender: 'console',
                level: 'error'
            },
            console: {
                type: 'console'
            },
        },
        categories: {
            default: { appenders: [ 'console', 'consoleErrors' ], level: 'debug' }
        }
    };

const Log4js = require('log4js');
log4js.configure(LOG4JS_CONFIGURATION);