Tomcat日志被写入syslog,而不是Spring Boot和Log4j中的应用程序日志
这是一个Spring引导应用程序,使用Log4j进行日志记录。 来自Tomcat日志被写入syslog,而不是Spring Boot和Log4j中的应用程序日志,spring,tomcat,spring-boot,log4j,Spring,Tomcat,Spring Boot,Log4j,这是一个Spring引导应用程序,使用Log4j进行日志记录。 来自org.apache.catalina.*的所有日志都将发送到syslog,其中还包括未捕获的异常 我们的应用程序使用Log4j(v1),因为它使用使用Log4j的遗留代码依赖项 Spring Boot版本为1.5.2.发布版 我相信,通过正确的设置,tomcat日志也会被写入log4j.xml中配置的同一个文件中,但我找不到解决这个问题的任何答案 pom.xml(相关部分): 你能试着把它排除在执行器工件中吗 <
org.apache.catalina.*
的所有日志都将发送到syslog,其中还包括未捕获的异常
我们的应用程序使用Log4j(v1),因为它使用使用Log4j的遗留代码依赖项
Spring Boot版本为1.5.2.发布版
我相信,通过正确的设置,tomcat日志也会被写入log4j.xml
中配置的同一个文件中,但我找不到解决这个问题的任何答案
pom.xml
(相关部分):
你能试着把它排除在执行器工件中吗
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
spring启动程序日志记录
根据您的评论:
如果我理解正确的话,应用程序的日志记录很好,是servlet容器在出现异常时记录到syslog,不是吗
您是否可以尝试添加:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-log4j</artifactId>
</dependency>
org.apache.tomcat.embed
tomcat-embed-logging-log4j
和/或传递log4j配置文件所在的位置:
-Dlog4j.configuration=<path to file>
-Dlog4j.configuration=
如果这些不起作用,我唯一能想到的是,您使用的是
Spring Boot
1.5.x与Log4j
不兼容,可能需要将其升级到Log4j2
在/tmp
中编写日志文件不是一个好主意,这是与问题无关的dev Log4j.xml+,它没有解决问题。调用一个抛出NPE的端点将其记录到Syslog中是不起作用的,但是我使用的是SB1.5,这可能就是问题所在。我肯定有解决办法,但还是找不到。
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-log4j</artifactId>
</dependency>
-Dlog4j.configuration=<path to file>