gpt4 book ai didi

java - 如何防止在 catalina.out 中重复记录到 tomcat 控制台?

转载 作者:行者123 更新时间:2023-11-28 21:57:34 29 4
gpt4 key购买 nike

我正在将 war 应用程序部署到 tomcat 网络服务器。问题:我的日志既记录到应用程序日志,也记录到 catalina 控制台日志(catalina.out)。

如何防止重复登录该 catalina 文件?

log4j2-spring.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>

我也已经从 /opt/tomcat/conf/logging.properties 中删除了 java.util.logging.ConsoleHandler:

handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler
.handlers = 1catalina.org.apache.juli.AsyncFileHandler

结果:日志记录仍然转到 catalina.out

最佳答案

<Loggers> 中删除它元素。

 <AppenderRef ref="CONSOLE" />

解释:Catalina.out文件捕获写入 Tomcat 标准输出和标准错误流的所有内容。你的CONSOLE appender 被设置为记录到标准输出。

看来 log4j2-spring.xml配置优先于 logging.properties .有人需要查看您的设置才能理解原因。

(我的猜测是 Spring 或其他东西正在给 Tomcat 的 JVM 一个 -D 选项来设置一个系统属性,给出日志配置的位置。log4j2 用来定位配置的机制在 https://logging.apache.org/log4j/2.x/manual/configuration.html 中描述)


There is then still a problem for me: in my local dev environment, I'd still like to get any logs to console, for not having to step into the decent logfiles. I'd only want to disable the console logging on the remote/test/production servers.

取决于 log4j2-spring.xml 的位置文件是(在 WAR 文件中?)您可以使用不同的配置文件构建 WAR 文件的两个变体。

或者,应该可以放一个替代的 log4j2-spring.xml文件到 Tomcat 的 common目录,以便它覆盖 WAR 文件中的版本。

关于java - 如何防止在 catalina.out 中重复记录到 tomcat 控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56872595/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com