首页 > 解决方案 > 如果 Tomcat 停止,删除 catalina.out 是否安全?

问题描述

我的 catalina.out 文件有 37 GB,这似乎阻止了我的应用程序在 linux (Centos) 服务器上正确运行,因为该文件占用了我所有的服务器空间。我从没想过一个日志文件可以变得这么大。停止 Tomcat (Tomcat9) 并删除 catalina.out 是否安全(我没有要尝试的测试服务器)?再次启动 Tomcat 时是否创建了新的 catalina.out 文件?

或者这样做会更好吗

 sudo echo > catalina.out

如此处所述。这个命令实际上是做什么的?

无论如何,我需要不时停止 Tomcat 以更新我的应用程序,并且我不需要存储较旧的日志文件。那么让 catalina.out 保持较小的最佳方法是什么?

标签: tomcat9catalina.out

解决方案


即使 Tomcat 正在运行,您也可以安全地截断(即用空字符串替换内容)文件,这可以通过多种方式完成:catalina.out

cat > catalina.out
# or
truncate catalina.out

在 Tomcat 关闭时删除文件也可以,但在运行中的 Tomcat 上会产生很大的副作用:Tomcat 仍会将数据附加到已删除的文件中,并且在 Tomcat 关闭之前不会释放空间。

为了保持catalina.out小,你应该:

  • ConsoleHandlerlogging.properties.handlershandlers)中删除:记录到的数据ConsoleHandler也记录到catalina.<date>.log
  • 确保您的应用程序的日志系统不会记录到标准输出/标准错误,而是记录到正确旋转的文件。

推荐阅读