我正在尝试使用 Java 中的 log4j 捕获日志。该可执行文件位于Linux环境中,它显示日志消息,但是,它没有写入日志文件。我正在使用 log4j.xml,这就是我到目前为止所拥有的
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="LocalFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logs/error.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="500KB" />
<param name="maxBackupIndex" value="1" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] - %m%n"/>
</layout>
</appender>
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<root>
<priority value ="Debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
我不清楚java程序如何知道xml文件所在的位置。我认为这就是问题所在。而且,这就是我在代码中设置的方式,
log = Logger.getLogger(MyClass.class);
BasicConfigurator.configure();
任何帮助将不胜感激。谢谢。
您可以将log4j.xml
文件放在应用程序的类路径上,log4j 会在您第一次使用 log4j 时自动找到它并进行配置。
但是,通过调用BasicConfigurator.configure()
,您将撤消 XML 文件完成的任何配置 - 因为这仅向根记录器设置控制台附加程序。
运行你的java程序-Dlog4j.debug
让 log4j 在启动时输出一堆有关在何处查找配置文件的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)