您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何理解Log4j配置文件中代碼的含義,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
通過Log4j可以方便的對項目中的日志進行處理——控制日志信息輸出的目的地(控制臺、文件、GUI組件或NT事件記錄器)、控制每一條日志的輸出格式(HTMLLayout布局格式、PatternLayout布局格式、SimpleLayout布局格式或TTCCLayout)、控制所輸出日志信息的級別(DEBUG級別、INFO級別、WARN級別、ERROR級別或FATAL級別)等。下面從一個簡單的例子入手來詳細介紹Log4j的使用方法:
工程結構如下圖:
TestLog4j.java文件中的代碼:
package com.ghj.test; import org.apache.log4j.Logger; public class TestLog4j { private static final Logger logger = Logger.getLogger(TestLog4j.class); public static void main(String[] args) { logger.debug("This log comes from the DEBUG level!"); logger.info("This log comes from the INFO level!"); logger.warn("This log comes from the WARN level!"); logger.error("This log comes from the ERROR level!"); } }
log4j.properties文件中的代碼:
log4j.rootLogger=DEBUG,Console,DailyRollingFile #將日志信息輸出到控制臺 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Encoding=UTF-8 log4j.appender.Console.layout=org.apache.log4j.SimpleLayout #將日志信息輸出到操作系統D盤根目錄下的index.html文件中 log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.DailyRollingFile.Encoding=UTF-8 log4j.appender.DailyRollingFile.layout=org.apache.log4j.HTMLLayout log4j.appender.DailyRollingFile.File=D\:\\index.html
【0分下載上面源碼工程】
通過上面的例子我們知道配置log4j的語法如下:
log4j.rootLogger = level ,appenderName1 ,appenderName2 ,... ,appenderNameN #日志信息輸出目的地1 log4j.appender.appenderName1 = appender類的完全限定名 log4j.appender.appenderName1.option1 = value1 ... log4j.appender.appenderName1.optionN = valueN #日志信息輸出目的地2 log4j.appender.appenderName2 = appender類的完全限定名 log4j.appender.appenderName2.option1 = value1 ... log4j.appender.appenderName2.optionN = valueN ...... #日志信息輸出目的地N log4j.appender.appenderNameN = appender類的完全限定名 log4j.appender.appenderNameN.option1 = value1 ... log4j.appender.appenderNameN.optionN = valueN
下面對其語法進行一一的說明:
一、log4j.rootLogger = [level] ,appenderName1 ,appenderName2, ..., appenderNameN
1、level:用于指定log日志的輸出級別,Log4j的日志輸出級別一共有五級,從小到大分別是DEBUG、INFO、WARN、ERROR和FATAL。在配置文件中可以不指定log日志的輸出級別,但需要說明的是這種情況下系統會將日志信息級別等于或高于DEBUG級別的信息輸出到指定的日志目的地——一句話,Log4j的默認日志優先級為DEBUG級別。
注意:日志信息的日志級別只有等于或高于所配置的日志級別時,該日志信息才會輸出到指定的日志輸出目的地,例如上述配置文件配置的日志級別為DEBUG,那么這時日志級別為DEBUG或INFO或WARN或ERROR或FATAL的日志信息都會輸出到指定的日志輸出目的地,但是如果將配置文件中的日志級別設置為INFO,那么這時日志級別為INFO或WARN或ERROR或FATAL的日志信息才能輸出到指定的日志輸出目的地,DEBUG級別的日志信息不會輸出到日志的目的地。
2、appenderName:日志信息輸出目的地名。目的地的名稱可以任意起,但最好能見名知意;另外可以在等號右側同時指定多個目的地名,例如上面的例子指定了兩個log日志目的地——Console(將日志輸出到MyEclipse控制臺)和DailyRollingFile(將日志輸出到操作系統D盤根目錄下的index.html文件)。
二、log4j.appender.appenderName = appender類的完全限定名
1、appenderName在上面已經說過了,這里說一下“appender類的完全限定名”,該限定名其實就是log日志目的地的實現類,那么log4j的日志輸出目的地的實現類有哪些呢?
a、org.apache.log4j.ConsoleAppender(將日志信息輸出到控制臺)
b、org.apache.log4j.FileAppender(將日志信息輸出到文件)
c、org.apache.log4j.DailyRollingFileAppender(將日志信息輸出到文件,該文件每天產生一個)
d、org.apache.log4j.RollingFileAppender(將日志信息輸出到文件,該文件在超過指定大小的時候會產生一個新的文件)
e、org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
f、org.apache.log4j.net.SMTPAppender(將日志信息以郵件的方式發送到指定的郵箱)
三、log4j.appender.appenderName.option = value
option:此處為配置某個日志輸出目的地的選項,該選項依據指定的”appender類的完全限定名“的不同而不同,而每個option對應的值依據option的不同而不同,下面分別介紹一下”appender類的完全限定名“及其對應的option選項:
a、org.apache.log4j.ConsoleAppender:【0分下載示例代碼】
b、org.apache.log4j.FileAppender:【0分下載示例代碼】
c、org.apache.log4j.DailyRollingFileAppender: 【0分下載示例代碼】
d、org.apache.log4j.RollingFileAppender:【0分下載示例代碼】
e、org.apache.log4j.WriterAppender:【0分下載示例代碼】
f、org.apache.log4j.jdbc.JDBCAppender:【0分下載示例代碼】
上述就是小編為大家分享的如何理解Log4j配置文件中代碼的含義了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。