【问题标题】:How to set size and amount of log files (stdout, stderr) in tomcat?如何在 tomcat 中设置日志文件(stdout、stderr)的大小和数量?
【发布时间】:2017-02-10 08:01:50
【问题描述】:

我最近在我的生产服务器上部署了一个 java 应用程序。我在其中安装了 Tomcat 8.5 版,但由于日志文件 stderrstdout 的大小增长过大,因此我一直遇到问题,因此我降低了服务器的性能,或者有时需要重新启动它,因为它没有响应。我想知道如何配置这些文件,以便它们仅创建具有特定 大小 的特定 amount。我尝试通过 log4j 对其进行配置,在集成相同的 tomcat 时它给了我错误。我还为日志配置了某些参数(例如:java.util.logging.FileHandler.limit = 1024),其中分配了大小和数量,但这些不适用于配置,因此我继续抛出服务器。

【问题讨论】:

标签: java security tomcat


【解决方案1】:

在生产环境中,一个好的做法是使用一个处理小日志文件的进程,如果临界大小已经消失,则会创建一个新文件。

使用 log4j,您可以使用 RollingFileAppender。查看最低配置:

<appender name="rolling.file.appender" class="org.apache.log4j.RollingFileAppender">
    <param name="maxFileSize" value="50MB" />
    <param name="maxBackupIndex" value="10" />
    <param name="file" value="${catalina.base}/logs/myApplication.log" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p: %c - %m%n" />
    </layout>
</appender>

<!-- Root Logger -->
<root>
    <priority value="INFO" />
    <appender-ref ref="rolling.file.appender" />
</root>

文档:https://tomcat.apache.org/tomcat-8.0-doc/logging.html

【讨论】:

  • 我正在使用我设置的属性文件完全相同的东西。仍然没有使我认为该功能仅创建文件但不注册日志(stdout,stderr)的细节。所以我设法检测到 tomcat 仍在使用 JULI,而不是使用已经为此类用途配置的 log4j
猜你喜欢
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 2012-01-10
  • 2013-11-16
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多