一、介紹
log4j是apache的乙個開放源**專案,通過使用log4j,我們可以控制日誌資訊輸送的目的地是控制台、檔案、gui元件、甚至是套介面服務 器、nt的事件記錄器、unix syslog守護程序等;我們也可以控制每一條日誌的輸出格式;通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。
log4j由三個重要的元件構成:日誌資訊的優先順序,日誌資訊的輸出目的地,日誌資訊的輸出格式。日誌資訊的優先順序從高到低有error、warn、 info、debug,分別用來指定這條日誌資訊的重要程度;日誌資訊的輸出目的地指定了日誌將列印到控制台還是檔案中;而輸出格式則控制了日誌資訊的顯示內容。
三、在程式中的使用
在程式中使用log4j之前,首先要將commons-logging.jar和logging-log4j-1.2.9.jar匯入到classpath中,並將log4j.properties放於src根目錄中。接下來就可以使用了。
1.得到記錄器
使用log4j,第一步就是獲取日誌記錄器,這個記錄器將負責控制日誌資訊。其語法為:
public static logger getlogger( string name),
通過指定的名字獲得記錄器,如果必要的話,則為這個名字建立乙個新的記錄器。name一般取本類的名字,比如:
static logger logger = logger.getlogger ( serverwithlog4j.class.getname () ) ;
注:推薦使用commons-logging結合log4j進行日誌記錄
private static log logger = logfactory.getlog(yourclass.class);
2.插入記錄資訊(格式化日誌資訊)
當上兩個必要步驟執行完畢,您就可以輕鬆地使用不同優先順序別的日誌記錄語句插入到您想記錄日誌的任何地方,其語法如下:
logger.debug ( object message ) ;
logger.info ( object message ) ;
logger.warn ( object message ) ;
logger.error ( object message ) ;
四、log4j比較全面的配置
log4j的配置之簡單使它遍及於越來越多的應用中了:log4j配置檔案實現了輸出到控制台、檔案、回滾檔案、傳送日誌郵件、輸出到資料庫日誌表、自定義標籤等全套功能。擇其一二使用就夠用了。
log4j.rootlogger=debug,console,a1,im
log4j.addivity
.org
.apache=true
# 應用於控制台
.console=org.apache
.threshold=debug
.console
.target=system.out
.console
.layout=org.apache
.log4j.patternlayout
.console
.layout
.conversionpattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#應用於檔案
.file=org.apache
.file
.file=file.log
.file
.file
.layout=org.apache
.log4j.patternlayout
.file
.layout
.conversionpattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# use this layout for logfactor 5 analysis
# 應用於檔案回滾
.rolling_file=org.apache
.rolling_file.threshold=error
.rolling_file.file=rolling.log //檔案位置,也可以用變數$、rolling.log
.rolling_file.maxfilesize=10kb //檔案最大尺寸
.rolling_file.maxbackupindex=1 //備份數
.rolling_file.layout=org.apache
.log4j.patternlayout
.rolling_file.layout
.conversionpattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#應用於socket
.socket=org.apache
.socket
.remotehost=localhost
.socket
.port=5001
.socket
.locationinfo=true
# set up for log facter 5
.socket
.layout=org.apache
.log4j.patternlayout
.socet
.layout
.conversionpattern=[start]%d[date]%n%p[priority]%n%x[ndc]%n%t[thread]%n%c[category]%n%m[message]%n%n
# 傳送日誌給郵件
.mail=org.apache
.log4j.net
.mail
.threshold=fatal
.mail
.buffersize=10
.mail
.com
.mail
.smtphost=www.wusetu
.com
.mail
.subject=log4j message
.mail
.com
.mail
.layout=org.apache
.log4j.patternlayout
.mail
.layout
.conversionpattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
# 用於資料庫
.database=org.apache
.log4j.jdbc
.database
.url=jdbc:mysql://localhost:3306/test
.database
.driver=com
.mysql
.jdbc
.driver
.database
.user=root
.database
.password=
.database
.sql=insert into log4j (message) values (』[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n』)
.database
.layout=org.apache
.log4j.patternlayout
.database
.layout
.conversionpattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
.a1=org.apache
.a1.file=samplemessages.log4j
.a1.datepattern=yyyymmdd-hh』.log4j』
.a1.layout=org.apache
.log4j.xml
.xmllayout
.im = net.cybercorlin
.util
.logger
.im.host = mail.cybercorlin
.net
.im.username = username
.im.password = password
.im.recipient = [email protected]
.im.layout=org.apache
.log4j.patternlayout
.im.layout
.conversionpattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j使用教程
使用log4j,第一步就是獲取日誌記錄器,這個記錄器將負責控制日誌資訊。其語法為 public static logger getlogger string name 通過指定的名字獲得記錄器,如果必要的話,則為這個名字建立乙個新的記錄器。name一般取本類的名字,比如 static logger ...
log4j使用教程
使用log4j,第一步就是獲取日誌記錄器,這個記錄器將負責控制日誌資訊。其語法為 public static logger getlogger string name 通過指定的名字獲得記錄器,如果必要的話,則為這個名字建立乙個新的記錄器。name一般取本類的名字,比如 static logger ...
log4j日誌教程
1.簡介 2.安裝 3.log4j基本概念 3.1.logger 3.3.layout 3.4.基本示例 4.使用外部配置檔案 程式開發環境中的日誌記錄是由嵌入在程式中以輸出一些對開發人員有用資訊的語句所組成。例如,跟蹤語句 trace 結構轉儲和常見的 system.out.println或pri...