1. 程式人生 > >Log4j模板

Log4j模板

deb pre 四種 pattern color all 發送 大小 -m

 1 log4j.rootLogger=DEBUG, A1,A2 
 2 log4j.appender.A1.MaxFileSize=1kb
 3 #10個備份
 4 log4j.appender.A1.MaxBackupIndex=10
 5 log4j.appender.A1.File=./log/log.log
 6 #文件大小到達指定尺寸的時候產生一個新的文件
 7 log4j.appender.A1=org.apache.log4j.RollingFileAppender
 8 log4j.appender.A1.layout=org.apache.log4j.PatternLayout
9 log4j.appender.A1.layout.ConversionPattern=[%p][%-d{yyyy-MM-dd HH:mm:ss}]%l%n%m%n 10 log4j.appender.A2=org.apache.log4j.ConsoleAppender 11 log4j.appender.A2.layout=org.apache.log4j.PatternLayout 12 log4j.appender.A2.layout.ConversionPattern=[%p][%-d{yyyy-MM-dd HH:mm:ss}]%l%n%m%n

Log4j詳解

log4j日誌配置詳解 
1、配置根Logger: log4j.rootLogger = [ level ] , appenderName, appenderName2 level:日誌的級別,指定這條日誌信息的重要性。分為ALL < DEBUG < INFO < WARN 一般常用的為 DEBUG , INFO ,WARN ,ERROR四種,分別對應Logger類的四種方法 debug(Object message ) ; info(Object message ) ; warn(Object message ) ; error(Object message ) ; 如果設置級別為INFO,則優先級大於等於INFO級別(如:INFO、WARN、ERROR)的日誌信息將可以被輸出, 小於該級別的如:DEBUG將不會被輸出 appenderName :就是指定日誌信息輸出目的地,比如(打印到控制臺,輸出到文件等)。同一條日誌信息 可以配置多個輸出目的地。
2、配置log輸出目的地: org.apache.log4j.ConsoleAppender(控制臺) org.apache.log4j.FileAppender(文件) org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件) org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件) org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方) # 每天產生一個日誌文件(dailyFile) log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender #當天的日誌文件全路徑 log4j.appender.dailyFile.File=d:/logs/sbrd #服務器啟動日誌是追加,false:服務器啟動後會生成日誌文件把老的覆蓋掉 log4j.appender.dailyFile.Append=true #日誌文件格式 log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout log4j.appender.dailyFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] [%t] (%F\:%L) ->%m %n log4j.appender.dailyFile.Threshold=INFO #設置每天生成一個文件名後添加的名稱,備份名稱:年月日.log log4j.appender.dailyFile.DatePattern=‘.‘yyyy-MM-dd‘.log‘ #文件大小到達指定尺寸的時候產生一個新的文件 log4j.appender.A1=org.apache.log4j.RollingFileAppender log4j.appender.A1.MaxFileSize=1kb #10個備份 log4j.appender.A1.MaxBackupIndex=10 log4j.appender.A1.File=./log/log.log 3、log信息的格式: org.apache.log4j.HTMLLayout(HTML表格形式) org.apache.log4j.SimpleLayout(簡單格式的日誌,只包括日誌信息的級別和指定的信息字符串 ,如:DEBUG - Hello) org.apache.log4j.TTCCLayout(日誌的格式包括日誌產生的時間、線程、類別等等信息) org.apache.log4j.PatternLayout(靈活地自定義日誌格式) 日誌輸出格式 當使用org.apache.log4j.PatternLayout來自定義信息格式時,可以使用 log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p -%m%n 來格式化信息 %c 輸出所屬類的全名,可寫為 %c{Num} ,Num類名輸出的範圍 如:"com.sun.aaa.classB", %C{2}將使日誌輸出輸出範圍為:aaa.classB %d 輸出日誌時間其格式為 可指定格式 如 %d{HH:mm:ss}等 %l 輸出日誌事件發生位置,包括類目名、發生線程,在代碼中的行數 %n 換行符 %m 輸出代碼指定信息,如info(“message”),輸出message %p 輸出日誌的優先級,即 FATAL ,ERROR 等 %r 輸出從啟動到顯示該條日誌信息所耗費的時間(毫秒數) %t 輸出產生該日誌事件的線程名 4、同時使用commons-logging和Log4j 1)首先在classpath下尋找自己的配置文件commons-logging.properties,如果找到,則使用其中定義的 Log實現類 2)如果找不到commons-logging.properties文件,則在查找是否已定義系統環境變量 org.apache.commons.logging.Log,找到則使用其定義的Log實現類 3)否則,查看classpath中是否有Log4j的包,如果發現,則自動使用Log4j作為日誌實現類 4)否則,使用JDK自身的日誌實現類(JDK1.4以後才有日誌實現類) 5)否則,使用commons-logging自己提供的一個簡單的日誌實現類SimpleLog 5.多個日誌文件(log4j.rootLogger=INFO, A1 ,A2) #A2 輸出到文件 RollingFileAppender的擴展,可以提供一種日誌的備份功能。 log4j.appender.A2=org.apache.log4j.RollingFileAppender #日誌文件的名稱 log4j.appender.A2.File=log4j.log #日誌文件的大小 log4j.appender.A2.MaxFileSize=100KB #保存一個備份文件 log4j.appender.A2.MaxBackupIndex=1 log4j.appender.A2.layout=org.apache.log4j.TTCCLayout #log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 附例:(log4j.properties) 例1: log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n 例2: #指定根Logger,及日誌輸出級別,大於等於該級別的日誌將被輸出( DEBUG < INFO < WARN < ERROR < FATAL ) 設為OFF可以關閉日誌 log4j.rootLogger=DEBUG, A1,A2 #指定log輸出目的,這裏設為輸出日誌到指定目錄的文件my.log中 log4j.appender.A1=org.apache.log4j.FileAppender log4j.appender.A1.File=\\logs\\my.log #當前根目錄下 #指定日誌信息的格式 log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%r %d{yyyy-MM-dd HH:mm:ss} %c %p -%m%n #把A2輸出到控制臺 log4j.appender.A2=org.apache.log4j.ConsoleAppender log4j.appender.A2.layout=org.apache.log4j.SimpleLayout #還可以單獨指定輸出某個包的日誌級別 #log4j.logger.com.study.HelloLog4j=INFO

Log4j模板