Log4j2输出到文件成功,但没有使用Ant到控制台
运行Ant时,Log4j2输出正确地转到文件Mylog.log,但控制台上没有显示任何内容。build.xml或log4j2.xml中缺少什么? 版本:log4j22.0,Ant 4.11 但是当使用Eclipse的RunAs Junit时,会成功地向控制台和文件日志显示Log4j2输出Log4j2输出到文件成功,但没有使用Ant到控制台,ant,log4j2,Ant,Log4j2,运行Ant时,Log4j2输出正确地转到文件Mylog.log,但控制台上没有显示任何内容。build.xml或log4j2.xml中缺少什么? 版本:log4j22.0,Ant 4.11 但是当使用Eclipse的RunAs Junit时,会成功地向控制台和文件日志显示Log4j2输出 In the Log4j2.xml, both Appenders to Console and File have been created. <?xml version="1.0" encoding
In the Log4j2.xml, both Appenders to Console and File have been created.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="All">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT" >
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="FileLogger" fileName="MyLog.log" append="false">
<PatternLayout pattern="%d %t %-5p %c{2} - %m%n"/>
</File>
</Appenders>
<Loggers>
<Logger name="com.site" level="All" />
<Root >
<AppenderRef ref="STDOUT" level="All"/>
<AppenderRef ref="FileLogger" level="All"/>
</Root>
</Loggers>
</Configuration>
在Log4j2.xml中,已创建控制台和文件的附加器。
在build.xml中,我将log4j2.xml的路径包含在“junit”目标的类路径中
在测试类中,包含getLogger。
私有静态最终记录器log4j=LogManager.getLogger(“com.site”) 在您的配置中,name=“com.site”的记录器没有appender-ref。因此记录器不执行任何操作,可以删除。您的根记录器将处理所有事件,这样就可以了 我怀疑使用Ant运行JUnit测试与在Eclipse中运行JUnit测试之间的区别在于类路径问题。尝试在
中指定完整的绝对路径,看看这是否有什么不同
还可以使用系统属性指定配置文件的位置:
<target name="junit">
<classpath>
<path refid="log4j2_config"/>