首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat禁用catalina.out

Tomcat禁用catalina.out
EN

Stack Overflow用户
提问于 2022-10-14 15:35:45
回答 1查看 48关注 0票数 0

在部署在tomcat上的web应用程序中,catalina.out文件不断增长(它在GB中增长)。

因此,为了禁用它,我找到了设置CATALINA_OUT=/dev/null的解决方案。这如预期的那样工作,但我们也使用kill -3 <PID>命令来捕获线程转储,随时需要。

这个线程转储被写入catalina.out文件,但是现在我已经禁用了catalina.out,所以我看不到线程转储。

如何获得线程转储?

因为它是一个生产系统,所以我们使用的是JRE而不是JDK,否则我们就会使用jmap/jcmd/j堆栈命令来捕获线程转储。

因此,我想,tomcat应该停止创建catalina.out文件,或者不要在其中编写log4j语句。如果它被禁用了,那么如何获得线程转储呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 09:09:15

最后,我找到了我正在寻找的解决方案。我在tomcat/bin/startup.sh文件中添加了下面的语句行

代码语言:javascript
复制
export CATALINA_OUT=/dev/null
export JAVA_OPTS="$JAVA_OPTS -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=thread_dump.log"

设置为/dev/null的CATALINA_OUT将停止在catalina.out日志中写入日志语句。

JAVA_OPTS -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=thread_dump.log配置用于编写使用kill –3 <PID>命令生成的线程转储语句。它还将打印正在使用的JVM相关配置。

我希望这能帮到别人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74071639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档