我收到错误'ERROR StatusLogger找不到log4j2配置文件。使用默认配置:仅将错误记录到控制台。执行 ant target:instrument 。
我的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>
ANT:1.7
struts:2.3.24
春天:4.2.3冬眠:4.2.8
1)将属性-Dlog4j.configuration更改为-Dlog4j.configurationFile
2)将log4j2.xml文件放在src文件夹
下3)在构建脚本中添加sysproperty
4)将classpath设置为log4j2.xml
1)如果log4j2.xml中的错误会导致此错误,或者只是因为编译时log4j2.xml不可用?
2)是否有可用于验证我的log4j2.xml的工具?
3)是否有任何与ANT相关的依赖或ANT升级?
由于
答案 0 :(得分:0)
我有一个带有Ant和log4j的项目,我的目标是调用已定义的macri
macrodef
我称之为log4j
<java classname="YourMainClass.java or otherclass.java">
<sysproperty key="log4j.configuration" value="log4j.properties" />
<java/>
内部。我没有log4j2.xml
答案 1 :(得分:0)
1)当log4j 2找不到log4j2.xml文件时发生此错误。我使用jvmarg元素来设置属性Dlog4j.configurationFile:
<java classname="xxx">
<jvmarg value="-Dlog4j.configurationFile=log4j_build.xml"/>
</java>
使用ANT的元素路径和元素定义log4j2.xml文件的路径。
2)不,没有任何工具或XSD来验证log4j2.xml文件。要调试配置文件,可以使用属性-Dorg.apache.logging.log4j.simplelog.StatusLogger.level = TRACE打印log4j 2的内部跟踪,并在配置文件中使用属性status:<Configuration status="trace">
。
3)我使用最新版本的ANT,但我没有任何其他依赖项。
答案 2 :(得分:0)
您可以尝试将文件log4j2.xml
复制到用户的工作目录,即:
<copy todir="${user.dir}" overwrite="true" verbose="true"> <fileset dir="${srcFolder}"> <include name="**/*.*" /> </fileset> </copy>
您需要在srcFolder
中包含该文件才能加入。