use*_*331 7 logging log4j spring-boot
我有一个简单的Spring Boot应用程序,它构建为一个jar文件.我在src/main/resources/log4j.xml中有一个log4j.xml文件,看起来像这样(来自log4j docs的基本样本文件):
<?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>
Run Code Online (Sandbox Code Playgroud)
记录只会进入控制台(/ tmp /logs/samples.log永远不会被创建),因为它忽略了log4j.xml文件.
该文件显示在jar的根目录中,我认为这是正确的.我还需要做些什么才能获得此日志记录配置?
如果它有任何区别,该项目使用的是Gradle,而不是Maven.
这取决于您如何设置类路径.log4j是否绑定到类路径上的slf4j(如果你只使用vanilla spring-boot-starter那么它将不会出现)?这是一个spring-boot-starter-log4j和一个展示如何使用它的示例(在Maven中,但Gradle具有相同的功能).
如果我是你,我只会使用logback.
NB Spring Boot 1.4不支持log4j(仅限log4j2).虽然在同一个地方有一个样本.
| 归档时间: |
|
| 查看次数: |
22654 次 |
| 最近记录: |