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

use*_*818 29 java tomcat log4j java.util.logging

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

Ken*_*han 38

由于Tomcat在内部使用JUL进行日志记录,因此您可以使用system属性java.util.logging.config.file指定属性文件的文件路径.对于此属性文件的格式,您可以引用您的JRE_HOME/lib/logging.properties(这是JUL使用的默认配置文件)

但是,JUL不支持每日轮换.如果您不介意,可以使用它java.util.logging.FileHandler 来根据日志的文件大小旋转日志文件:

# 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
Run Code Online (Sandbox Code Playgroud)

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


如果要使用JUL每天支持轮换,则必须实现文件处理程序.我从这个博客找到了一个自定义实现.我还没试过.如果您有兴趣,可以参考.

  • 为什么将限制设置为2 ^ 10*1000,这似乎有点随机?为什么不是1MB(1000000字节)或1MiB(2 ^ 20/1048576字节) (4认同)