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
Java 如何防止在catalina.out中重复登录到tomcat控制台?_Java_Spring_Spring Boot_Tomcat_Slf4j - Fatal编程技术网

Java 如何防止在catalina.out中重复登录到tomcat控制台?

Java 如何防止在catalina.out中重复登录到tomcat控制台?,java,spring,spring-boot,tomcat,slf4j,Java,Spring,Spring Boot,Tomcat,Slf4j,我正在将war应用程序部署到tomcatwebserver。 问题:我的日志记录既对应用程序日志,也对catalina控制台日志(它们是catalina.out)执行 如何防止重复登录到catalina文件 log4j2spring.xml: <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Appenders> <Console name="CONSOLE" targ

我正在将
war
应用程序部署到
tomcat
webserver。 问题:我的日志记录既对应用程序日志,也对catalina控制台日志(它们是
catalina.out
)执行

如何防止重复登录到catalina文件

log4j2spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %p %c{1.}: %m%n"/>
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY" />
        </Console>

        <RollingRandomAccessFile name="APP" fileName="/logs/application.logs" filePattern="/logs/application-%d{yyyy-MM-dd}.log.gz">
            <PatternLayout pattern="%d %p %c{1.}: %m%n"/>
            <Filters>
                <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>

            <Policies>
                <TimeBasedTriggeringPolicy modulate="true"/>
            </Policies>
        </RollingRandomAccessFile>
    </Appenders>

    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="CONSOLE" />
            <AppenderRef ref="APP" />
        </Root>
    </Loggers>
</Configuration>

结果:日志仍将转到catalina。out

将其从
元素中删除

 <AppenderRef ref="CONSOLE" />


这对我来说仍然是一个问题:在我的本地开发环境中,我仍然希望将所有日志都放到控制台中,因为不必进入合适的日志文件。我只想禁用远程/测试/生产服务器上的控制台日志记录

根据
log4j2spring.xml
文件的位置(在WAR文件中?),您可以使用不同的配置文件构建WAR文件的两个变体


或者,应该可以将另一个
log4j2 spring.xml
文件放入Tomcat的
common
目录中,以便覆盖WAR文件中的版本。

如果在应用程序中设置
log4j
xml配置,那么
/logging.properties
也会被完全忽略,这对我来说仍然是一个问题:在我的本地开发环境中,我仍然希望将所有日志都放到控制台中,因为不必进入合适的日志文件。我只想禁用远程/测试/生产服务器上的控制台日志记录。
 <AppenderRef ref="CONSOLE" />