java之log4j的配置
log4j有很多的優點,用起來很方便,就是配置起來有些麻煩,下面我介紹一下log4j的配置方法。
log4j是用來記錄日志的。
軟件的運行過程離不開日志.日志主要用來記錄系統運行過程中的一些重要的操作信息,便於監視系統運行情況,幫助用戶提前發現和避開可能出現的問題,或者出現問題后根據日志找到發生的原因.
日志根據記錄內容的不同,主要分成以下3類:
- SQL日志:記錄系統執行的SQL語句.
- 異常日志:記錄系統運行中發生的異常事件.
- 業務日志:記錄系統運行過程,如用戶登錄,操作記錄.
要使用log4j,首先需要下載log4j 的JAR文件.log4j是Apache的一個開源項目,它的官方網站是http://logging.apache.org/log4j
看過好多log4j的文章,基本上都有log4j的配置方法,卻沒有log4j的配置步驟,我說一下吧:
(1).在項目中加入log4j所使用的JAR文件.
在MyEclipse中選中要使用log4j的項目,然后依次選則”Project” →”Properties”→”Java Build Path”→”Libraries”→”Add External JARs……” 選項,彈出選擇JAR的窗口,找到自己計算機上存放的文件,就是你的Jar包.
(2).創建log4.properties文件
使用log4j需要創建log4j.propterties文件,這個文件時專門用來配置日志信息的,比如輸出級別、輸出目的地、輸出格式等.
然后選擇要使用log4j的項目,右擊src,依次選擇”New” →”File”選項,彈出”New File”對話框,輸入文件名” log4j.properties”,這樣就創建成功了.
至於log4j的配置方法,就是那讓別人轉載爛了的那段:
1 ### set log levels ### 2 log4j.rootLogger = debug , stdout , D , E 3 4 ### 輸出到控制台 ### 5 log4j.appender.stdout = org.apache.log4j.ConsoleAppender 6 log4j.appender.stdout.Target = System.out 7 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 8 log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n 9 10 ### 輸出到日志文件 ### 11 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 12 log4j.appender.D.File = logs/log.log 13 log4j.appender.D.Append = true 14 log4j.appender.D.Threshold = DEBUG ## 輸出DEBUG級別以上的日志 15 log4j.appender.D.layout = org.apache.log4j.PatternLayout 16 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 17 18 ### 保存異常信息到單獨文件 ### 19 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 20 log4j.appender.D.File = logs/error.log ## 異常日志文件名 21 log4j.appender.D.Append = true 22 log4j.appender.D.Threshold = ERROR ## 只輸出ERROR級別以上的日志!!! 23 log4j.appender.D.layout = org.apache.log4j.PatternLayout 24 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
做項目的時候直接 c v 就行(如果你想敲我不介意。。。)
log4j在main方法中使用:
1 public class TestLog4j { 2 public static void main(String[] args) { 3 PropertyConfigurator.configure( " D:/Code/conf/log4j.properties " ); 4 Logger logger = Logger.getLogger(TestLog4j. class ); 5 logger.debug( " debug " ); 6 logger.error( " error " ); 7 } 8 }
log4j的輸出級別:
1 FATAL 0 2 ERROR 3 3 WARN 4 4 INFO 6 5 DEBUG 7