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" />