Tomcat日志滾動策略配置指南(基于Java Util Logging)
Tomcat默認使用**Java Util Logging(JULI)**作為日志框架,其滾動策略主要通過修改conf/logging.properties文件實現。以下是具體配置步驟及參數說明:
Tomcat的日志配置文件logging.properties默認位于**安裝目錄/conf/**下(如/opt/tomcat/conf/logging.properties或C:\tomcat\conf\logging.properties)。
修改logging.properties時,需重點調整以下參數以實現滾動策略:
java.util.logging.FileHandler.pattern:定義日志文件的命名模式,支持動態占位符:
%h:用戶主目錄(如/home/username);%g:日志文件序號(從0開始,用于區分多個備份文件);${catalina.base}/logs/catalina.%g.log(日志將保存在Tomcat的logs目錄下,命名為catalina.0.log、catalina.1.log等)。java.util.logging.FileHandler.limit:單個日志文件的最大大?。▎挝唬鹤止潱?。例如,10485760表示10MB(10×1024×1024)。java.util.logging.FileHandler.count:保留的舊日志文件數量。例如,5表示保留最近5個日志文件,超過的將被自動刪除。java.util.logging.FileHandler.formatter:日志格式化器,常用java.util.logging.SimpleFormatter(默認格式)。以下是一個典型的滾動策略配置,實現“日志文件達到10MB時滾動,保留最近5個文件”:
# 設置控制臺處理器(可選)
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
# 設置文件處理器(滾動策略核心配置)
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.pattern = ${catalina.base}/logs/catalina.%g.log # 日志文件路徑及命名
java.util.logging.FileHandler.limit = 10485760 # 單個文件最大10MB
java.util.logging.FileHandler.count = 5 # 保留5個舊文件
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # 使用簡單格式化
maxBackupIndex:等同于count,部分版本中可用于指定最大備份數(如java.util.logging.FileHandler.maxBackupIndex=5)。append:是否追加日志到現有文件,默認true(不覆蓋舊日志);若設為false,則會清空舊文件重新寫入。maxDays:部分版本支持按天滾動(如java.util.logging.FileHandler.maxDays=7),但需注意并非所有Tomcat版本均支持此參數,建議優先使用limit+count組合。修改完成后,需重啟Tomcat使配置生效??赏ㄟ^以下命令操作:
# 停止Tomcat
./bin/shutdown.sh
# 啟動Tomcat
./bin/startup.sh
RollingFileAppender)。logging.properties文件,避免誤操作導致日志功能異常。logs目錄有寫入權限(尤其是Linux系統中,需賦予tomcat用戶目錄所有權)。