1. log4j2的匯入
2. 測試用例
log4j 2.0的使用非常簡單,只要用logmanager的getlogger函式獲取乙個logger,就可以使用logger記錄日誌,**如下:
import org.apache.logging.log4j.logmanager;
import org.apache.logging.log4j.logger;
public class hellolog4j
}
import org.apache.logging.log4j.logmanager;
import org.apache.logging.log4j.logger;
public boolean doit()
}
執行程式,輸出結果為:
16:10:28.672 [main] error hellolog4j - hello, world!
注意到,輸出的log都是在error level上的,log4j定義了8個級別的log(除去off和all,可以說分為6個級別),優先順序從高到低依次為:off、fatal、error、warn、info、debug、trace、 all。如果將log level設定在某乙個級別上,那麼比此級別優先順序高的log都能列印出來。例如,如果設定優先順序為warn,那麼off、fatal、error、warn 4個級別的log能正常輸出,而info、debug、trace、 all級別的log則會被忽略。從我們實驗的結果可以看出,log4j預設的優先順序為error或者warn(實際上是error)。
3. 配置檔案
log4j是apache的乙個開源專案,在寫這篇部落格的時候已經發布了2.0的beta版本,首先需要注意的是,log4j 2.0與以往的1.x有乙個明顯的不同,其配置檔案只能採用.xml, .json或者 .jsn。在預設情況下,系統選擇configuration檔案的優先順序如下:(classpath為scr資料夾)
classpath下名為 log4j-test.json 或者log4j-test.jsn檔案
classpath下名為 log4j2-test.xml
classpath下名為 log4j.json 或者log4j.jsn檔案
classpath下名為 log4j2.xml
必須注意.xml 檔案的檔名為log4j2,這裡讓我糾結了乙個下午,系統一直找不到配置檔案,最後發現是檔名裡面少了乙個2。下面以log4j2.xml為例來介紹log4j的配置。
<?xml version="1.0" encoding="utf-8"?>
root標籤為log的預設輸出形式,如果乙個類的log沒有在loggers中明確指定其輸出lever與格式,那麼就會採用root中定義的格式。例如以下定義:
<?xml version="1.0" encoding="utf-8"?>
此時,hellolog4j則會在error級別上輸出log,而其他類則會在trace級別上輸出log。需要注意的是 additivity選項,如果設定為true(預設值)則hellolog4j的log會被列印兩次,第二次列印是由於hellolog4j同時也滿足root裡面定義的trace
4. 其他特徵
<?xml version="1.0" encoding="utf-8"?>
擴充套件元件
輸出結果到system.out或是system.err。
自動追加日誌資訊到檔案中,直至檔案達到預定的大小,然後自動重新生成另外乙個檔案來記錄之後的日誌。
過濾標籤
1,thresholdfilter
用來過濾指定優先順序的事件。
2,timefilter
設定start和end,來指定接收日誌資訊的時間區間。
**:相關:
Log4j2使用案例
全乾貨記錄 link org.apache.logging.log4jgroupid log4j apiartifactid 2.13.3version dependency org.apache.logging.log4jgroupid log4j coreartifactid 2.13.3ver...
log4j2非同步Logger 詳解
1 非同步logger的意義 之前的日誌框架基本都實現qriio了asyncappender,被證明對效能的提公升作用非常明顯。在log4j2日誌框架中,增加了對logger的非同步實現。那麼程式設計客棧這一步的解耦,意義何在呢?如圖,按我目前的理解 非同步logger是讓業務邏輯把日誌資訊放入di...
log4j2使用筆記
rollingfile節點 file 基礎知識 log4j2日誌級別 從大到小依次是 off fatal error warn info debug trace all 由於使用的是slf4j界麵包,該界麵包中只提供了error warn info debug trace,5中日誌級別的輸出 con...