错误状态记录器 找不到 log4j2 配置文件.使用 ANT 目标进行编译时使用默认配置



我收到错误'错误状态记录器未找到log4j2配置文件。使用默认配置:在执行 ant 目标 : 仪器时仅将错误记录到控制台。

我的蚂蚁目标:

<target name="instrumentHibernate">
      <taskdef name="instrument" classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
           <classpath>
                 <path refid="all_classpath"/>
           </classpath>              
     </taskdef>
     <instrument verbose="true">   
        //Error is thrown at this block 
         <fileset dir="target/classes" includes="**/A.class" />
         <fileset dir="target/classes" includes="**/B.class" />
         <fileset dir="target/classes" includes="**/C.class" />          
      </instrument>
</target>

我的项目配置:

蚂蚁 : 1.7

支柱 : 2.3.24

弹簧:4.2.3

休眠:4.2.8

我尝试了以下解决方案:

1) 将属性 -Dlog4j.configuration 更改为 -Dlog4j.configurationFile

2) 将 log4j2.xml 文件放在 SRC 文件夹下

3) 在构建脚本中添加系统属性

4) 将类路径设置为 log4j2.xml

问题:

1)如果log4j2中的错误.xml会导致此错误还是只是因为log4j2.xml在编译时不可用?

2) 是否有任何工具可用于验证我的 log4j2.xml?

3) 是否有任何与 ANT 相关的依赖关系或 ANT 升级要求?

谢谢

我有一个包含 Ant 和 log4j 的项目,我的目标调用了一个定义的 macri macrodef我称之为log4j

<java classname="YourMainClass.java or otherclass.java">
    <sysproperty key="log4j.configuration" value="log4j.properties" />
<java/>

里面。我没有 log4j2.xml

1) 当 log4j 2 找不到 log4j2.xml 文件时,会发生此错误。我使用 jvmarg 元素来设置属性 Dlog4j.configurationFile:

<java classname="xxx"> <jvmarg value="-Dlog4j.configurationFile=log4j_build.xml"/> </java>

log4j2.xml 文件的路径是用 ANT 的元素路径和路径元素定义的。

2) 不,没有任何工具或 XSD 来验证 log4j2.xml 文件。要调试配置文件,您可以使用属性 -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE 以及配置文件中的属性状态打印 log4j 2 的内部跟踪:<Configuration status="trace">

3)我使用最新版本的ANT,但我没有任何其他依赖项。

您可以尝试将文件log4j2.xml复制到用户的工作目录,即:

      
        
          
        
      
    

您需要将文件包含在srcFolder中才能包含在内。

相关内容

  • 没有找到相关文章

最新更新