Log4j 2.0在開發中的高階使用詳解—預設級別(二)
Log4j 經過幾年的發展之後,終於迎來了它的姊妹版本Log4j 2.0 。在強調可重用元件開發的今天,除了自己從頭到尾開發一個可重用的日誌操作類外,Apache為我們提供了一個強有力的日誌操作包-Log4j。重大的升級必須帶來重大的特性。對於2.0的顛覆性特性,我們將在之後一一講解。今天我們就來看它的特性之一,預設級別。
在使用log4j 1.x當中,我們都需要自己提供它的配置檔案。如果不提供就會報錯,在2.0的版本當中,配置檔案已經不是必須的了。至於我們沒有提供它的配置檔案,它會預設的列印error級別的資訊。
下面我們來看看測試程式碼:
package com.herman.log4j2.test;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* @see log4j 2.0 預設級別為error
* @author Herman.Xiong
* @date 2014年7月21日09:37:52
*/
public class Test0 {
/**
* 如果我們在工程(專案)中不提供log4j的配置檔案,則log4j會使用預設的配置,級別為error
* 4中獲取日誌記錄器的方式
*/
private static Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
private static Logger log = LogManager.getLogger(Test0.class);
private static Logger l = LogManager.getLogger(Test0.class.getName());
private static Logger rl = LogManager.getRootLogger();
public static void main(String[] args) {
logger.trace("trace");
logger.debug("debug");
logger.info("info");
logger.warn("warn");
logger.error("error");
logger.fatal("fatal");
log.trace("trace");
log.debug("debug");
log.info("info");
log.warn("warn");
log.error("error");
log.fatal("fatal");
l.trace("trace");
l.debug("debug");
l.info("info");
l.warn("warn");
l.error("error");
l.fatal("fatal");
rl.trace("trace");
rl.debug("debug");
rl.info("info");
rl.warn("warn");
rl.error("error");
rl.fatal("fatal");
}
}
專案截圖:
09:41:29.150 [main] ERROR - error
09:41:29.151 [main] FATAL - fatal
09:41:29.151 [main] ERROR com.herman.log4j2.test.Test0 - error
09:41:29.152 [main] FATAL com.herman.log4j2.test.Test0 - fatal
09:41:29.152 [main] ERROR com.herman.log4j2.test.Test0 - error
09:41:29.152 [main] FATAL com.herman.log4j2.test.Test0 - fatal
09:41:29.152 [main] ERROR - error
09:41:29.152 [main] FATAL - fatal
歡迎大家關注我的個人部落格!!!
如有不懂,疑問或者欠妥的地方,請加QQ群:135430763 進行反饋,共同學習!
相關文章
- Log4j 2.0在開發中的高階使用詳解—介紹篇(一)
- Log4j 2.0在開發中的高階使用詳解—讀取配置檔案(六)
- Log4j 2.0在開發中的高階使用詳解—SocketAppender的遠端輸出(五)APP
- Log4j 2.0在開發中的高階使用詳解—配置簡單的控制檯輸出(三)
- Log4j 2.0在開發中的高階使用詳解—配置簡單的檔案輸出(四)
- Nmap在實戰中的高階用法(詳解)
- 閉包詳解二:JavaScript中的高階函式JavaScript函式
- Kotlin——高階篇(二):高階函式詳解與標準的高階函式使用Kotlin函式
- 詳解Vue中watch的高階用法Vue
- 研發流程在敏捷開發中的詳解敏捷
- Android塗鴉畫板原理詳解——從初級到高階(二)Android
- Web開發中,什麼級別才算是高併發Web
- TypeScript在React高階元件中的使用技巧TypeScriptReact元件
- 元件化開發-建立功能級別的元件-順帶求賢-高階Java開發元件化Java
- Java初級~中級~高階進階之路Java
- 在Linux中,系統預設的執行級別是什麼?Linux
- 詳解AI開發中的資料預處理(清洗)AI
- oracle中的預設帳戶詳解Oracle
- 在Scala IDE 2.0中設定使用 Play framework 2.0IDEFramework
- Nginx高階功能詳解Nginx
- RxJava 2.0 使用詳解RxJava
- 佛薩奇2.0(合約)開發制度講解丨佛薩奇升級2.0版系統功能開發詳情
- TypeScript筆記(二)高階型別TypeScript筆記型別
- 佛薩奇2.0開發升級版,metaforce佛薩奇2.0系統開發(開發方案及詳細)
- React HOC高階元件詳解React元件
- C#高階–反射詳解C#反射
- Retrofit2.0使用詳解
- xargs在linux中的使用詳解Linux
- 萬字詳解AI開發中的資料預處理(清洗)AI
- 在HTML中使用javascript (js高階程式設計)HTMLJavaScriptJS程式設計
- WinRAR初級中級高階等應用
- struts2.0(二)中struts.xml配置檔案詳解XML
- react進階系列:高階元件詳解(三)React元件
- Golang技巧之預設值設定的高階玩法Golang
- Postgresql 的預設隔離級別SQL
- 詳談基於JSON的高階AJAX開發技術JSON
- Java開發中的23種設計模式詳解(轉)Java設計模式
- log4j 詳解