tomcat9 - 如果 Tomcat 停止,删除 catalina.out 是否安全?
问题描述
我的 catalina.out 文件有 37 GB,这似乎阻止了我的应用程序在 linux (Centos) 服务器上正确运行,因为该文件占用了我所有的服务器空间。我从没想过一个日志文件可以变得这么大。停止 Tomcat (Tomcat9) 并删除 catalina.out 是否安全(我没有要尝试的测试服务器)?再次启动 Tomcat 时是否创建了新的 catalina.out 文件?
或者这样做会更好吗
sudo echo > catalina.out
如此处所述。这个命令实际上是做什么的?
无论如何,我需要不时停止 Tomcat 以更新我的应用程序,并且我不需要存储较旧的日志文件。那么让 catalina.out 保持较小的最佳方法是什么?
解决方案
即使 Tomcat 正在运行,您也可以安全地截断(即用空字符串替换内容)文件,这可以通过多种方式完成:catalina.out
cat > catalina.out
# or
truncate catalina.out
在 Tomcat 关闭时删除文件也可以,但在运行中的 Tomcat 上会产生很大的副作用:Tomcat 仍会将数据附加到已删除的文件中,并且在 Tomcat 关闭之前不会释放空间。
为了保持catalina.out
小,你应该:
ConsoleHandler
从logging.properties
(.handlers
和handlers
)中删除:记录到的数据ConsoleHandler
也记录到catalina.<date>.log
,- 确保您的应用程序的日志系统不会记录到标准输出/标准错误,而是记录到正确旋转的文件。
推荐阅读
- javascript - GSAP“无法在数字上创建属性”错误
- symfony - Sonata ModelAutocompleteType 查询/回调
- angular - 如何通过单击使用 ngClass 来更改 div 的类
- java - 在大量 CSV 文件中查找最大价格
- sql - BigQuery,将 INTEGER 变量转换为 DATE
- c# - 如何在给定范围内反向打印数组元素
- r - 使用 R 中的 Statnet 在加权网络中测量中心性
- javascript - 关于 JS 数据类型 Null
- precision - 何时为 IEEE 浮点数保证 (x==(x+y)-y) 或 (x==(xy)+y)?
- spring-boot - 我可以在控制器中使用 `@Cacheable` 吗?