log4j配置信息

基本配置文件log4j.properties

 1 log4j.rootLogger=debug, stdout, R
 2  
 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 5  
 6 # Pattern to output the caller's file name and line number.
 7 log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
 8  
 9 log4j.appender.R=org.apache.log4j.RollingFileAppender
10 log4j.appender.R.File=example.log
11  
12 log4j.appender.R.MaxFileSize=100KB
13 # Keep one backup file
14 log4j.appender.R.MaxBackupIndex=5
15  
16 log4j.appender.R.layout=org.apache.log4j.PatternLayout
17 log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

log4j.rootLogger=debug, stdout, R

設置日誌輸出的等級爲debug,低於debug就不會輸出了
設置日誌輸出到兩種地方,分別叫做 stdout和 R

stdout, 輸出到控制檯

R, 以滾動的方式輸出到文件

 

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=5
R, 以滾動的方式輸出到文件,文件名是example.log,文件最大100k, 最多滾動5個文件
 

log4j日誌輸出格式一覽:

%c 輸出日誌信息所屬的類的全名
%d 輸出日誌時間點的日期或時間,默認格式爲ISO8601,也可以在其後指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出類似:2002-10-18- 22:10:28
%f 輸出日誌信息所屬的類的類名
%l 輸出日誌事件的發生位置,即輸出日誌信息的語句處於它所在的類的第幾行
%m 輸出代碼中指定的信息,如log(message)中的message
%n 輸出一個回車換行符,Windows平臺爲“rn”,Unix平臺爲“n”
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則爲DEBUG,依此類推
%r 輸出自應用啓動到輸出該日誌信息所耗費的毫秒數
%t 輸出產生該日誌事件的線程名

所以:
%5p [%t] (%F:%L) - %m%n 就表示
寬度是5的優先等級 線程名稱 (文件名:行號) - 信息 回車換行
 

log4j的使用

需要導入log4j的jar包
 1 public class TestLog4j {
 2     static Logger logger = Logger.getLogger(TestLog4j.class);
 3     public static void main(String[] args) throws InterruptedException {
 4         PropertyConfigurator.configure("e:\\project\\log4j\\src\\log4j.properties");
 5         for (int i = 0; i < 5000; i++) {
 6             logger.trace("跟蹤信息");
 7             logger.debug("調試信息");
 8             logger.info("輸出信息");
 9             logger.warn("警告信息");
10             logger.error("錯誤信息");
11             logger.fatal("致命信息");
12         }
13     }
14 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章