如何设置Tomcat日志文件大小限制
Tomcat默认使用**Java Util Logging(JULI)**作为日志系统,其日志文件大小限制及滚动策略主要通过修改conf/logging.properties文件配置。以下是具体操作步骤及注意事项:
Tomcat的日志配置文件logging.properties默认位于<Tomcat安装目录>/conf/目录下(如/opt/tomcat/conf/logging.properties)。修改前建议备份原始文件,避免配置错误导致日志系统失效。
在logging.properties文件中,通过以下参数控制单个日志文件的大小及滚动行为:
java.util.logging.FileHandler.limit:设置单个日志文件的最大大小(单位:字节)。例如,10485760表示10MB(10×1024×1024),50000表示50KB。java.util.logging.FileHandler.count:设置保留的旧日志文件数量。例如,5表示保留最近5个日志文件,超过的会被自动删除。java.util.logging.FileHandler.pattern:设置日志文件的命名模式。常用变量:%h(用户主目录)、%g(日志文件序号,从0开始)、%d(日期)。例如:
%h/tomcat.%g.log:用户主目录下的tomcat.0.log、tomcat.1.log等;${catalina.base}/logs/catalina.%g.out:Tomcat日志目录下的catalina.0.out、catalina.1.out等(${catalina.base}为Tomcat安装目录)。示例配置(限制单个日志文件10MB,保留5个旧文件):
# 设置文件处理器参数
java.util.logging.FileHandler.level = FINEST
java.util.logging.FileHandler.limit = 10485760 # 10MB
java.util.logging.FileHandler.count = 5 # 保留5个旧文件
java.util.logging.FileHandler.pattern = ${catalina.base}/logs/catalina.%g.out # 日志文件路径及命名
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # 日志格式
修改完成后,保存logging.properties文件。重启Tomcat使配置生效,可通过以下命令操作:
<Tomcat安装目录>/bin/shutdown.sh # 停止Tomcat
<Tomcat安装目录>/bin/startup.sh # 启动Tomcat
<Tomcat安装目录>/bin/startup.bat启动Tomcat(需先关闭停止窗口)。重启后,检查Tomcat日志目录(如${catalina.base}/logs/)下的日志文件:
catalina.0.out)大小达到10MB时,Tomcat会自动创建新的日志文件(如catalina.1.out);catalina.0.out至catalina.4.out),更早的文件会被自动删除。SizeBasedTriggeringPolicy)。limit(如生产环境建议设置为100MB以上)和count(如保留7天日志),避免频繁轮转或磁盘空间耗尽。org.apache.catalina的级别从DEBUG改为INFO),减少不必要的日志输出。通过以上步骤,即可有效控制Tomcat日志文件的大小,避免日志文件过大占用磁盘空间。