Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat日志被写入syslog,而不是Spring Boot和Log4j中的应用程序日志_Spring_Tomcat_Spring Boot_Log4j - Fatal编程技术网

Tomcat日志被写入syslog,而不是Spring Boot和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(相关部分): 你能试着把它排除在执行器工件中吗 <

这是一个Spring引导应用程序,使用Log4j进行日志记录。 来自
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>