About Log4j2 Level

關於Log4j2 Level

這篇介紹關於Log4j2 Level。

Intro

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Log4j2 Logger Level Order:

高---------------------------------------低
FETAL > ERROR > WARN > INFO > DEBUG > TRACE

每個Level有對應的intLevel整數值,數值越小等級越高,數值越大等級越低。

Level intValue 用途
OFF 0 不輸出任何日誌
FETAL 100 造成應用程式停止的日誌
ERROR 200 造成應用程式錯誤的日誌
WARN 300 可能導致錯誤的日誌
INFO 400 一般資訊的日誌
DEBUG 500 除錯資訊的日誌
TRACE 600 更細的除錯資訊,通常用來追蹤程式流程的日誌
ALL Integer.MAX_VALUE 輸出所有日誌

Logger輸出的等級大於等於Logger設定的等級時才會輸出訊息。

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Code:

Level level = log.getLevel(); // INFO

System.out.println("LEVEL name:" + level.name());
System.out.println("LEVEL intLevel:" + level.intLevel());

log.fatal("FATAL"); // 印出
log.error("ERROR"); // 印出
log.warn("WARN"); // 印出
log.info("INFO"); // 印出
log.debug("DEBUG");
log.trace("TRACE");

Output:
LEVEL name:INFO
LEVEL intLevel:400
FATAL
ERROR
WARN
INFO

memo:等級小於Info的DEBUG和TRACE不會印出