org.apache.log4j.Level類提供以下級(jí)別,但也可以通過(guò)Level類的子類自定義級(jí)別。
| Level | 描述 |
|---|---|
| ALL | 各級(jí)包括自定義級(jí)別 |
| DEBUG | 指定細(xì)粒度信息事件是最有用的應(yīng)用程序調(diào)試 |
| ERROR | 錯(cuò)誤事件可能仍然允許應(yīng)用程序繼續(xù)運(yùn)行 |
| FATAL | 指定非常嚴(yán)重的錯(cuò)誤事件,這可能導(dǎo)致應(yīng)用程序中止 |
| INFO | 指定能夠突出在粗粒度級(jí)別的應(yīng)用程序運(yùn)行情況的信息的消息 |
| OFF | 這是最高等級(jí),為了關(guān)閉日志記錄 |
| TRACE | 指定細(xì)粒度比DEBUG更低的信息事件 |
| WARN | 指定具有潛在危害的情況 |
級(jí)別p的級(jí)別使用q,在記錄日志請(qǐng)求時(shí),如果p>=q啟用。這條規(guī)則是log4j的核心。它假設(shè)級(jí)別是有序的。對(duì)于標(biāo)準(zhǔn)級(jí)別它們關(guān)系如下:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
下面的例子明確指出如何可以過(guò)濾所有的DEBUG和INFO消息。這個(gè)程序使用記錄并執(zhí)行setLevel(Level.X)方法來(lái)設(shè)置所需的日志記錄級(jí)別:
這個(gè)例子將打印,除了調(diào)試和信息的所有消息:
import org.apache.log4j.*;public class LogClass { PRivate static org.apache.log4j.Logger log = Logger .getLogger(LogClass.class); public static void main(String[] args) { log.setLevel(Level.WARN); log.trace("Trace Message!"); log.debug("Debug Message!"); log.info("Info Message!"); log.warn("Warn Message!"); log.error("Error Message!"); log.fatal("Fatal Message!"); }}當(dāng)編譯并運(yùn)行LogClass程序會(huì)產(chǎn)生以下結(jié)果:
Warn Message!Error Message!Fatal Message!使用配置文件設(shè)置級(jí)別:
Log4j提供這些可以讓程序員自由更改源代碼,改變調(diào)試級(jí)別的配置級(jí)別是基于文件設(shè)置。
以下是上面的例子使用 log.setLevel(Level.WARN)方法的配置文件與上面的例子例子功能一樣。
# Define the root logger with appender filelog = /usr/home/log4jlog4j.rootLogger = WARN, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.FileAppenderlog4j.appender.FILE.File=${log}/log.out# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n現(xiàn)在,使用下面的程序:
import org.apache.log4j.*;public class LogClass { private static org.apache.log4j.Logger log = Logger .getLogger(LogClass.class); public static void main(String[] args) { log.trace("Trace Message!"); log.debug("Debug Message!"); log.info("Info Message!"); log.warn("Warn Message!"); log.error("Error Message!"); log.fatal("Fatal Message!"); }}現(xiàn)在,編譯和運(yùn)行上面的程序,得到以下結(jié)果在 /usr/home/log4j/log.out 文件:
Warn Message!Error Message!Fatal Message!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注