0

我的应用程序在 6 台服务器上运行,并且 catalina.out 日志在所有服务器上的几天后停止。应用程序按预期工作,访问日志也有更新。但不确定为什么 catalina.out 停止了。要重新启动日志记录,我需要重新启动 tomcat。这种情况每 4-5 天发生一次。我不确定这是 tomcat 配置错误还是纯应用程序问题。有人遇到过类似的问题吗?

4

2 回答 2

0

显然,您的 catalina.out 正在增长,直到最大大小填满,当您重新启动 Tomcat 时, catalina.out 被清除,因此再次开始记录,然后重复相同的故事。

通常 catalina.out 日志在登录每日日志 catalina.yyyy-mm-dd.log 时保持禁用状态。

因此,您需要有一种机制来每天手动清除或截断它(否则会发生同样的事情)、轮换它或使用每日日志文件机制。

阅读此处讨论类似问题。

在此处阅读如何旋转 Tomcat catalina.out

于 2015-12-01T19:30:33.907 回答
0

一个原因可能是配置为滚动 catalina.out 日志文件的 logrotate 服务。通常位于:/etc/logrotate.d/tomcat

由于替换用于标准输出的进程文件并不是那么简单,因此替换 catalina.out 后进程无法重定向输出。

可以轮换 catalina.out 日志,但它不受标准 logging.properties 或 log4j.properties 文件的控制。为此,您需要:

  1. 使用 jsvc 启动 Tomcat,然后从日志轮换脚本(logrotate、mv 或任何其他方法)发送 SIGUSR1 信号。
  2. 将 'logrotate' 与 'copytruncate' 选项一起使用
  3. 修改 bin/catalina.sh 或 bin/catalina.bat 以将 JVM 的输出通过管道传输到管道记录器,例如 chronolog 或 Apache httpd 的 rotatelogs
于 2015-12-02T07:38:12.540 回答