错误StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台

时间:2014-11-24 23:34:47

标签: java ant classpath log4j2

我正在尝试在我的Ant build.xml中使用log4j2来创建可执行文件.jar。 jar工作正常,但似乎无法识别log4j2.xml。我目前在src文件夹下有该文件。并在我的build.xml中设置classpath,如下所示。这适用于我的所有项目。放入log4j2.xml的正确目录是什么?除了将它添加到build.xml中的classpath之外还有其他的东西吗?

    <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

1 个答案:

答案 0 :(得分:1)

将最后一个元素更改为:

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

会起作用,但实际上你应该把这个文件放在其他地方。

在ant构建中,将这些文件复制到classes目录中是正常的,因此它会包含在jar文件中。