如何解决量角器,log4js配置错误?

问题描述 投票:0回答:1

我正在尝试进行量角器测试。但是面临log4js的问题。我做了npm install 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.

这是我的启动前配置文件中的配置

beforeLaunch:function(){
          log4js.configure({
            appenders: {
              out:{ type: 'log4js-protractor-appender'},
              app:{ type: "file",
                    filename: './logs/ExecutionLog.log'}
              },
            categories: {
                    default: { appenders: [ 'out', 'app' ], level: 'info' }
            }
            });
        },

谢谢

testing protractor cucumber log4j
1个回答
0
投票

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附加程序将记录控制台中的所有内容,无论级别如何。
  • consoleErrors覆盖控制台的其他规则,仅将错误级别的消息或更高级别的消息过滤到控制台。

您可以在以下内容中了解有关log4js配置的更多信息:https://github.com/log4js-node/log4js-node

示例附录程序如何工作以及如何配置它们:https://github.com/log4js-node/log4js-node/tree/master/examples

© www.soinside.com 2019 - 2024. All rights reserved.