温馨提示×

Ubuntu如何关闭Tomcat日志

小樊
39
2026-08-05 14:58:54
栏目: 智能运维

在 Ubuntu 上关闭或禁用 Tomcat 日志,需要区分你指的是哪一类日志。Tomcat 常见日志有:

  • catalina.out(最常用,标准输出/错误)
  • localhost.*.log
  • manager.*.log
  • host-manager.*.log
  • access log(访问日志)

下面按常见需求说明如何关闭或限制。


一、关闭 catalina.out 日志(最常用)

方法 1:直接禁用输出(不推荐,但最简单)

编辑 bin/catalina.shbin/startup.sh

export CATALINA_OUT=/dev/null

或在 catalina.sh 中修改:

CATALINA_OUT=/dev/null

⚠️ 缺点:所有标准输出和错误都会丢失,不利于排查问题。


方法 2:使用 logging.properties 关闭控制台日志(推荐)

编辑:

$TOMCAT_HOME/conf/logging.properties

找到:

.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler

改为:

.handlers = 1catalina.org.apache.juli.AsyncFileHandler

并删除或注释:

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = ...

这样就不会再往 catalina.out 写日志。


二、关闭 Tomcat 的日志文件(localhost / manager 等)

仍在 conf/logging.properties 中:

1catalina.org.apache.juli.AsyncFileHandler.level = OFF
2localhost.org.apache.juli.AsyncFileHandler.level = OFF
3manager.org.apache.juli.AsyncFileHandler.level = OFF
4host-manager.org.apache.juli.AsyncFileHandler.level = OFF

或直接将 level 改为 OFF


三、关闭访问日志(access log)

编辑:

$TOMCAT_HOME/conf/server.xml

找到:

<Valve className="org.apache.catalina.valves.AccessLogValve"
       directory="logs"
       prefix="localhost_access_log"
       suffix=".txt"
       pattern="%h %l %u %t "%r" %s %b" />

关闭方式:直接删除或注释该 Valve

<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" ... />
-->

四、使用 log4j / logback 的情况

如果你项目中使用了 log4j / logback,还需要:

  • 修改 log4j.properties / log4j2.xml
  • logback.xml

例如 logback:

<root level="OFF">
</root>

五、重启 Tomcat(必须)

sudo systemctl restart tomcat
# 或
$TOMCAT_HOME/bin/shutdown.sh
$TOMCAT_HOME/bin/startup.sh

六、建议(生产环境)

不建议完全关闭所有日志
✅ 建议做法:

  • 关闭 catalina.out
  • 保留 catalina.log
  • 控制日志级别(INFO / WARN / ERROR)

例如:

.level = WARNING

如果你愿意,可以告诉我:

  • Tomcat 版本(8 / 9 / 10)
  • 是否是 systemd 启动
  • 想关闭的是 哪一类日志

我可以给你一份精确配置示例

0