如何阻止应用程序日志登录到Tomcat中的catalina.out

raj*_*ajb 5 java tomcat

该应用程序正在运行,tomcat并且使用拥有自己的记录器org.apache.commons.logging.Log and org.apache.commons.logging.LogFactory. 。日志正在log4j.properties文件中指定的位置处记录,该位置如下。

log4j.appender.logger.File=${catalina.base}/logs/applicationlogs.log
Run Code Online (Sandbox Code Playgroud)

日志同时添加到以下文件中。

/opt/apache-tomcat-8.0.26/logs/catalina.out

如何阻止应用程序日志登录catalina.out?

m.a*_*bin 8

您可以尝试这样做:

  1. 编辑"$CATALINA_BASE"/bin/catalina.sh档案
  2. CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
  3. 替换为新路径。

不要忘记重启tomcat。

  • 要完全停止写入`catalina.out`,请在`catalina.sh`中设置`CATALINA_OUT = / dev / null`。 (8认同)

小智 7

我相信“增强”catalina.sh(Windows 上的 catalina.bat)的推荐方法是:

  1. 在 ${CATALINA_BASE}/bin 中创建或更新名为setenv.sh (setenv.bat)的脚本
  2. 添加一行进行设置:CATALINA_OUT=/dev/null如上所述。
  3. 该脚本将在执行 catalina.sh/bat 之前执行,它将使用任何变量集。这也是添加到 CLASSPATH、添加 JAVA_OPTS 等的正确方法,而不会直接弄乱 catalina.sh/bat,它可能会随着每次 tomcat 升级而更新(覆盖)。


小智 2

我使用的是 tomcat 7.0.50 并且我已经完成了以下配置。要停止应用程序登录 catalina.out,您可以通过删除处理程序来完成。这可以通过编辑和更改来实现conf/logging.properties

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
Run Code Online (Sandbox Code Playgroud)

.handlers = 1catalina.org.apache.juli.FileHandler
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。如果我遗漏了什么,请告诉我。

  • 进行上述更改不起作用。我正在使用 tomcat 8.0.26 并尝试以不同的方式修改conf/logging.properties,但日志记录不会停止。 (3认同)