【发布时间】:2017-05-09 06:26:11
【问题描述】:
这是一个使用 Log4j 进行日志记录的 Spring Boot 应用程序。
来自org.apache.catalina.* 的所有日志都将发送到 syslog,其中还包括未捕获的异常。
我们的应用使用 Log4j (v1),因为它使用使用 Log4j 的旧代码依赖项。
Spring Boot 版本是1.5.2.RELEASE。
我相信通过正确的设置,tomcat 日志也将写入log4j.xml 中配置的同一文件,但我找不到该问题的任何答案。
pom.xml(相关部分):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Spring Logging -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
<version>1.2.8.RELEASE</version>
</dependency>
log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%t] %5p %c{1} - %m%n" />
</layout>
</appender>
<!-- File appender -->
<appender name="logFileAppender" class="org.apache.log4j.FileAppender">
<param name="File" value="/tmp/myappname.log"/>
<param name="Append" value="true" />
<param name="BufferedIO" value="false" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} [%t] %5p %c{1} - %m%n" />
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="consoleAppender" />
<appender-ref ref="logFileAppender" />
</root>
</log4j:configuration>
【问题讨论】:
-
把你的日志文件写在
/tmp是不是个好主意 -
那是与问题无关的dev log4j.xml +
标签: spring tomcat spring-boot log4j