Maven - ERROR StatusLogger找不到log4j2配置文件

时间:2018-03-18 12:36:05

标签: java maven cucumber

运行mvn verify时,我收到以下消息:

enter image description here

我已将log4j2.xml放在src/test/resources下(但不在src/main/resources,因为我不希望它与实际应用一起提供),因为建议here无济于事。

enter image description here

生成HTML报告,编写日志文件,并且构建成功,如上所示。我不确定错误来自哪里。

5 个答案:

答案 0 :(得分:3)

根据http://logging.apache.org/log4j/2.x/manual/configuration.html#AutomaticConfigurationlog4j2.xml添加到classpath应该有帮助。

  

如果找不到JSON文件,XML ConfigurationFactory将尝试   在类路径上找到log4j2.xml。

因此,如果仍然出现ERROR消息问题,请不要使用您的来源。它看起来像maven-cucumber-reporting插件中的问题。如此处所述http://maven.apache.org/guides/mini/guide-maven-classloading.html

  

请注意,插件类加载器既不包含当前项目的依赖项,也不包含其构建输出。

如果maven插件在自己的类路径中找不到任何log4j配置(不包括您的源/资源),您将看到错误消息。所以是的,唯一的解决方案是等待发布修复https://github.com/damianszczepanik/cucumber-reporting/issues/675

答案 1 :(得分:2)

您使用最新的Cucumber版本3.15.0(在撰写本文时)。您的问题已解决为issue #675。来自commitpull request旨在解决此问题,但可能您必须等到下一个版本发布才能从中获利 - 或者在本地构建快照版本并查看是否存在还为你解决了这个问题。

答案 2 :(得分:1)

运行 - >运行配置 - > Classpath - >用户条目 - >高级选项 - >添加文件夹 - >然后添加你的文件夹,在你的情况下src / test / resources - >应用

现在必须工作:D

答案 3 :(得分:0)

您收到此错误是因为cucumber或其依赖项正在使用log4j进行日志记录,并且由于没有log4j配置文件,因此log4j正在打印此类消息。< / p>

如果没有log4j配置文件,log4j使用类似于以下的配置 -

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>

<Configuration status="warn" name="xml_configuration">

    <Appenders>
        <Console name="consoleLogger" target="SYSTEM_OUT">
            <PatternLayout
                pattern="[%level] %m%n" />
        </Console>
    </Appenders>

    <Loggers>
        <Root level="error" additivity="false">
            <appender-ref ref="consoleLogger" />
        </Root>
    </Loggers>
</Configuration>

/src/main/resources/log4j2.xml中添加上述配置与没有log4j2.xml文件的结果相同。

另一种尝试方法是直接将log4j2.xml文件传递给maven,而不将其放在项目类路径中。像下面的东西 -

set MAVEN_OPTS="-Dlog4j.configurationFile=file:///path/to/log4j2.xml"
mvn verify

答案 4 :(得分:0)

根据他们的文档,您可以使用&#39; joranConfigurator&#39;并从指定的文件加载配置

documentation link

相关问题