2016年7月10日 星期日

Java Apache Log4j RollingFileAppender 設定每小時切檔


一、本篇說明
Log4j 可以設定每小時來切檔。
另外Log4j 的DailyRollingFileAppender 會發生無法正常切檔問題,也可在此篇解決。

二、使用apache-log4j-extras jar

需要二個 jar 檔:
log4j-1.2.xx.jar
apache-log4j-extras-x.x.jar

圖1 取得Maven dependency
Java Apache Log4j RollingFileAppender 設定每小時切檔
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
Java Apache Log4j RollingFileAppender 設定每小時切檔
設定每日切資料夾,依每小時切log檔案



其它文章:


測試專案下載

































其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...