Log4J主要由3大組件構成:html
組件 | 描述 |
Logger | 負責生成日誌,並可以對日誌信息進行分類篩選。通俗地講,就是決定什麼日誌信息應該被輸出,什麼日誌信息應該被忽略。 |
Appender | 定義了日誌信息輸出的目的地,指定日誌信息應該被輸出到什麼地方,這些地方能夠是控制檯、文件和網絡設備等。 |
Layout | 指定日誌信息的輸出格式。 |
一個Logger能夠有多個Appender,而且每一個Appender都對應一種Layout,Layout決定了輸出日誌信息的格式。apache
Log4J提供的Appender有如下幾種:網絡
名稱 | 說明 |
org.apache.log4j.ConsoleAppender | 控制檯 |
org.apache.log4j.FileAppender | 文件 |
org.apache.log4j.DailyRollingFileAppender | 天天產生一個日誌文件 |
org.apache.log4j.RollingFileAppender | 文件大小到達指定尺寸的時候產生一個新的文件 |
org.apache.log4j.WriterAppender | 將日誌信息做爲數據流發送到任意指定的地方 |
經常使用的5種日誌級別:FATAL、ERROR、WARN、INFO和DEBUG。佈局
Layout組件用來決定日誌的輸出格式,它有如下幾種類型:spa
名稱 | 描述 |
org.apache.log4j.HTMLLayout | 以html表格形式佈局 |
org.apache.log4j.PatternLayout | 能夠靈活地指定佈局模式 |
org.apache.log4j.SimpleLayout | 包含日誌信息的級別和信息字符串 |
org.apache.log4j.TTCCLayout | 包含日誌產生的時間、線程和類別等信息 |
PatternLayout的格式:線程
符號 | 描述 |
%r | 自程序開始運行到輸出當前日誌所消耗的毫秒數 |
%t | 表示輸出當前日誌的線程的名字 |
%p | 表示日誌的級別 |
%d | 表示輸出當前日誌的日期 |
%c | 表示輸出當前日誌的Logger的名字 |
%m%n | 表示日誌信息的內容 |
Logger組件的繼承性:日誌
Log4J提供了一個root Logger,它是全部Logger組件的祖先,如下是配置root Logger的代碼:code
log4j.rootLogger=INFO,console