java - 错误 StatusLogger 未找到 log4j2 配置文件。使用默认配置: logging only errors to the console

标签 java ant classpath log4j2

我正在尝试在 Ant build.xml 中使用 log4j2 来创建可执行的 .jar。该 jar 工作正常,但似乎 log4j2.xml 未被识别。我目前在 src 文件夹下有该文件。并在我的 build.xml 中设置类路径,如下所示。我的所有项目都会发生这种情况。放置 log4j2.xml 的正确目录是什么?除了将其添加到 build.xml 中的类路径之外还有什么要做吗?

    <path id = "classpath">  
    <pathelement location="${junitJar}/junit-4.11.jar"/> 
    <pathelement location="${junitJar}/hamcrest-core-1.3.jar" />
    <pathelement location="${classes.dir}"/>  
    <pathelement location="${log4jJar}/log4j-api-2.1.jar" />
    <pathelement location="${log4jJar}/log4j-core-2.1.jar" />
    <pathelement location="${src.dir}/log4j2.xml" />
</path>      


compile:
jar:
run:
 [java] ERROR StatusLogger No log4j2 configuration file found. Using default         configuration: logging only errors to the console.
 [java] Hello World!
main:
BUILD SUCCESSFUL
Total time: 1 second

最佳答案

将最后一个路径元素更改为:

   <pathelement location="${src.dir}/" />

可以工作,但实际上您可能应该在其他地方放置此文件。

在 ant 构建中,通常会将这些文件复制到类目录中,以便将其包含在 jar 文件中。

关于java - 错误 StatusLogger 未找到 log4j2 配置文件。使用默认配置: logging only errors to the console,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116199/

相关文章:

xml - 使用 ant 和 xslt 动态连接 xml 文件

java - 如何解决javax.servlet.ServletException : java. lang.UnsupportedClassVersionError?

java - 使注释处理器读取 Maven 更新上的 src/main/resources 文件的方法

java - 将 a 属性设置为没有 Ant 的 maven.compile.classpath 包含的内容

java - 如何在 Windows 上提取包含多字节字符和禁止字符的 tar.gz

java - 如何使用 JFreeChart 突出显示或聚焦饼图中的特定饼图部分

java - Java 如何处理被零除?

java - 手动添加@PropertySource : Configuring Environment before context is refreshed

maven-2 - 如果从未使用 pom 构建过,如何添加编译 Maven 项目所需的 jar?

java - 如何将 javaagent 的类放在类路径中