Tomcat catalina.out 增长直到服务器崩溃
Tomcat catalina.out grows until server crashes
我在 CentOS Linux 上有一个 Tomcat7 网络服务器 运行。
Tomcat 默认配置为将所有 System.out 写入 /logs/catalina.out 文件。它不会旋转或 trim 此文件,因此它最终会超过最大文件大小并导致 Web 服务器崩溃。
鉴于这似乎不是一个好主意...如何防止这种情况发生?
我发现,
catalina.out rolling with Tomcat 6.0
并且我像上面说的那样配置了我的 logging.properties,但这似乎不起作用,也许它阻止了 Tomcat 记录到 catalina.out,但仍然每隔一个 [=24] =] 写入文件。
奇怪的是我有两台相同的服务器,配置方式完全相同,但一台正在写入 catalina.out,另一台则没有??
好吧,这就是我想出的。
- 开始tomcat
- 删除 catalina.out 文件
现在它将不再写入文件。这似乎有效。简单,但是一个黑客。谁有更好的解决方案?
查看部署在您的 webapps 文件夹中的所有应用程序的内容。
在你的 catalina.out 中写的那个可能在 web-inf/lib/classes 中有一个 logging.properties 文件。
该文件中是否有配置为写入 ConsoleHandler 的处理程序。
试试这个。
如果在tomcat
停止后删除catalina.out
,一旦tomcat
再次启动,它会创建一个新的catalina.out
并且是完全安全的。如果您在 tomcat
为 运行ning 时删除 catalina.out
,它将继续记录到已经删除的 catalina.out
(文件的引用由 tomcat
) 因此 space 将不会被释放。所以你需要重启 tomcat
服务器来释放 space。不推荐。
但在 public 使用的 运行ning on tomcat
的关键应用程序中,这不是一个好的解决方案,因为会出现停机时间。
因此,您可以使用以下命令在不停止 tomcat 的情况下清除 catalina.out
文件的日志。
sudo cat /dev/null > /opt/tomcat/apache-tomcat-9.0.37/logs/catalina.out
要使 catalina.out
更小并删除旧日志,可以使用以下任一方法:
您可以使用上面的 Linux
命令并将其添加到 CronScheduler
到 运行 每天/每周/每月或每年一次。
在 Linux
中使用 logrotate
工具。这是一个日志管理 command-line 工具
在 Linux。这可以在不同条件下轮换日志文件。
特别是,我们可以在固定的持续时间内轮换日志文件,或者如果
文件已增长到一定大小。您可以单击here了解更多
关于此的信息。
我在 CentOS Linux 上有一个 Tomcat7 网络服务器 运行。 Tomcat 默认配置为将所有 System.out 写入 /logs/catalina.out 文件。它不会旋转或 trim 此文件,因此它最终会超过最大文件大小并导致 Web 服务器崩溃。
鉴于这似乎不是一个好主意...如何防止这种情况发生?
我发现, catalina.out rolling with Tomcat 6.0
并且我像上面说的那样配置了我的 logging.properties,但这似乎不起作用,也许它阻止了 Tomcat 记录到 catalina.out,但仍然每隔一个 [=24] =] 写入文件。
奇怪的是我有两台相同的服务器,配置方式完全相同,但一台正在写入 catalina.out,另一台则没有??
好吧,这就是我想出的。
- 开始tomcat
- 删除 catalina.out 文件
现在它将不再写入文件。这似乎有效。简单,但是一个黑客。谁有更好的解决方案?
查看部署在您的 webapps 文件夹中的所有应用程序的内容。 在你的 catalina.out 中写的那个可能在 web-inf/lib/classes 中有一个 logging.properties 文件。
该文件中是否有配置为写入 ConsoleHandler 的处理程序。
试试这个。
如果在tomcat
停止后删除catalina.out
,一旦tomcat
再次启动,它会创建一个新的catalina.out
并且是完全安全的。如果您在 tomcat
为 运行ning 时删除 catalina.out
,它将继续记录到已经删除的 catalina.out
(文件的引用由 tomcat
) 因此 space 将不会被释放。所以你需要重启 tomcat
服务器来释放 space。不推荐。
但在 public 使用的 运行ning on tomcat
的关键应用程序中,这不是一个好的解决方案,因为会出现停机时间。
因此,您可以使用以下命令在不停止 tomcat 的情况下清除 catalina.out
文件的日志。
sudo cat /dev/null > /opt/tomcat/apache-tomcat-9.0.37/logs/catalina.out
要使 catalina.out
更小并删除旧日志,可以使用以下任一方法:
您可以使用上面的
Linux
命令并将其添加到CronScheduler
到 运行 每天/每周/每月或每年一次。在
Linux
中使用logrotate
工具。这是一个日志管理 command-line 工具 在 Linux。这可以在不同条件下轮换日志文件。 特别是,我们可以在固定的持续时间内轮换日志文件,或者如果 文件已增长到一定大小。您可以单击here了解更多 关于此的信息。