一、本篇說明
Log4j 可以設定每小時來切檔。
另外Log4j 的DailyRollingFileAppender 會發生無法正常切檔問題,也可在此篇解決。
二、使用apache-log4j-extras jar
需要二個 jar 檔:
log4j-1.2.xx.jar
apache-log4j-extras-x.x.jar
圖1 取得Maven dependency
apache-log4j-extras-x.x.jar |
<!-- http://mvnrepository.com/artifact/log4j/apache-log4j-extras --> <dependency> <groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> <version>1.2.17</version> </dependency>
注意:log4j必须是1.2.16以上,14不行喔!
三、設定檔
以下設定:
#test log log4j.appender.test_Log_File=org.apache.log4j.rolling.RollingFileAppender log4j.appender.test_Log_File.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy log4j.appender.test_Log_File.rollingPolicy.fileNamePattern=D:/testLog/logs/%d{yyyy-MM-dd}/test_Log_File_%d{yyyy-MM-dd-HH}.log log4j.appender.test_Log_File.layout=org.apache.log4j.PatternLayout log4j.appender.test_Log_File.layout.ConversionPattern=%5p [%d{yyyy-MM-dd HH:mm:ss}]-[%c{1}:%L][%x] %m%n log4j.appender.test_Log_File.Append=true log4j.appender.test_Log_File.Threshold=DEBUG log4j.appender.test_Log_File.encoding=UTF-8 log4j.logger.com.test.log=DEBUG , test_Log_File
此設定 appender 為 RollingFileAppender
org.apache.log4j.rolling.RollingFileAppender
此設定 rollingPolicy 的 TimeBasedRollingPolicy 使用時間基礎設定
org.apache.log4j.rolling.TimeBasedRollingPolicy
此設定 rollingPolicy 的 fileNamePattern 設定檔名及路徑
設定每日切資料夾,依每小時切log檔案
D:/testLog/logs/%d{yyyy-MM-dd}/test_Log_File_%d{yyyy-MM-dd-HH}.log
設定layout
org.apache.log4j.PatternLayout
設定layout ConversionPattern
%5p [%d{yyyy-MM-dd HH:mm:ss}]-[%c{1}:%L][%x] %m%n
四、測試
圖2
設定每日切資料夾,依每小時切log檔案 |
其它文章:
- Java Apache Log4j 基本 下載 設定 使用
- Java Apache Log4j DailyRollingFileAppender
- Java Apache Log4j 基本五個級別 DEBUG INFO WARN ERROR FATAL
測試專案下載
其它文章
沒有留言:
張貼留言