java - 如何为tomcat设置最大卷数和最大日志大小?

标签 java tomcat log4j java.util.logging

我的空间有问题,因此需要将 catalina.out 的大小限制为 10M,并将卷数限制为前 3 天。 是否可以仅配置 logging.properties? 谢谢。

最佳答案

由于 Tomcat 内部使用 JUL 来记录,您可以使用系统属性 java.util.logging.config.file 来指定属性文件的文件路径。这个属性文件的格式可以引用你的JRE_HOME/lib/logging.properties(JUL默认使用的配置文件)

但是,JUL does not support the daily rotation .如果你不介意,你可以使用它的 java.util.logging.FileHandler 来根据 log 的文件大小来轮换日志文件:

# Define the FileHandler 
handlers= java.util.logging.FileHandler

# Configure the FileHandler
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 1024000
java.util.logging.FileHandler.count = 3
java.util.logging.FileHandler.formatter =  java.util.logging.SimpleFormatter
java.util.logging.FileHandler.append=true

然后,每个日志文件的大小限制为 1024000 字节(1MB),并且最大滚动到 3 个输出日志文件。您可以引用 java.util.logging.FileHandler 的 Javadoc有关配置的详细信息。


如果您想使用 JUL 支持每日轮换,您必须实现文件处理程序。我从 this blog 找到了一个自定义实现.我还没试过。有兴趣的可以引用一下。

关于java - 如何为tomcat设置最大卷数和最大日志大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342336/

相关文章:

java - LuaJ 数组/列表类型安全

java - 在java中排队字节数据

java - 在不同端口的tomcat中运行不同的webapps

java - Tomcat SSL : unable to find valid certification path to requested target

java - log4j 尝试登录文件

java - 使用SingleThreadModel时servlet的生命周期管理

java - Android cameraSource.stop() 导致应用程序卡住

tomcat - 使用 jboss 或 tomcat 服务器在 docker 中运行 java 应用程序

java - 需要 Perf4J 与 log4j.properties 集成的帮助

java - 不在 Logger 控制台中打印日志