我有一个简单的Spring Boot应用程序,可以构建成jar文件。在src/main/resources/log4j.xml下有一个log4j.xml文件,内容如下(来自log4j文档的基本示例文件):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<param name="ConversionPattern" value="%5p [%t] (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="R" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="/tmp/logs/sample.log"/>
<param name="MaxFileSize" value="100KB"/>
<!-- Keep one backup file -->
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%p %t %c - %m%n"/>
</layout>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="stdout"/>
<appender-ref ref="R"/>
</root>
</log4j:configuration>
尽管log4j.xml文件位于jar包的根目录下,但仅限于日志输出到控制台(console),而不会创建/tmp/logs/sample.log文件。这表明log4j.xml文件被忽略了。
我认为文件位于jar包的根目录是正确的,那么还需要做什么才能使日志配置生效呢?
如果有所区别的话,该项目使用Gradle而非Maven。