【自動化測試】log4j框架入門
阿新 • • 發佈:2018-12-19
1.什麼是log4j
log4j是一個日誌框架,配置簡單,功能強大,在專案中用它來記錄日誌很方便。 對於測試人員來講,使用log4j可以更好的跟蹤專案中的一些互動和問題。 下載地址:https://logging.apache.org/log4j/2.x/download.html 在其中下載下來log4j-1.2.17.jar,log4j.properties。 複製jar包到專案類路徑,再配置build path新增專案依賴。
2.log4j.properties詳解
###根logger設定### log4j.rootLogger = debug,console,file ### 輸出資訊到控制檯### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.Threshold = DEBUG log4j.appender.console.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} method: %l----%m%n ###輸出INFO 級別以上的日誌檔案設定### ###每天產生一個日誌檔案### log4j.appender.file = org.apache.log4j.DailyRollingFileAppender ###將日誌輸出到指定位置,下面輸出到的是E盤下的log資料夾下,儲存為web.log### log4j.appender.file.File = E:/log/web.log log4j.appender.file.Append = true log4j.appender.file.Threshold = warn log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} method: %l - [ %p ]----%m%n
2.1 其中關於根logger:
- 根logger主要定義log4j支援的日誌級別及輸出目的地。
- log4j.rootLogger = [level],appenderName,appenderName,…
- 這其中,level表示是日誌記錄的優先順序,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG等。日誌輸出的級別以根logger的級別為準,大於此級別的日誌才會被顯示在控制檯/記錄再日誌檔案
- 建議使用ERROR、WARN、INFO、DEBUG這四個,級別從高到低。
2.2 關於Appender(附加器):
- 可以一次性配置多個Appender
- Appender定義日誌資訊輸出在什麼位置
2.3 其中的常用引數:
- %m 輸出程式碼中制定的日誌內容
- %p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL
- %c 輸出所屬的類目,通常是所在類的全名
- %n 輸出一個回車換行符,windows平臺為“/r/n”,unix平臺為“/n”
- %d 輸出日誌時間點的日期或事件,預設格式為ISO8601,u而可以在其後制定格式,比如:
%d{yyyy-MM-dd HH:mm:ss}
,輸出的資料格式如下:2018-11-3 14:55:30 - %l 輸出日誌事件的發生位置,包括類名、發生的執行緒,以及在程式碼中的行數。
eg:com.test.Tester.main(Tester.java:8)
3.如何使用
寫一個測試類來測試一下: //Logger.getLogger(Tester.class),根據log4j.properties檔案的配置去建立一個Tester類的日誌物件 private static Logger logger=Logger.getLogger(Tester.class);
public static void main(String[] args) {
//logger.error(Object message,Throwable t);
logger.error("這是error資訊");
logger.warn("這是warn資訊");
logger.info("這是info資訊");
logger.debug("這是debug資訊");
}
4.可能會遇到的問題
如果eclipse的編碼格式設定有問題,在開啟log4j.properties檔案時中午可能會出現亂碼問題,此時根據圖片步驟進行設定: 點選ok之後,將之前開啟的log4j.properties關閉後重新開啟就顯示正常啦。