程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> J2EE基礎篇 對Log4J使用方法的簡單講解

J2EE基礎篇 對Log4J使用方法的簡單講解

編輯:關於JAVA

Log4j由三個重要的組件構成:日志信息的優先級,日志信息的輸出目的地,日志信息的輸出格式。

日志信息的優先級從高到低有ERROR、WARN、INFO、DEBUG,分別用來指定這條日志信息的重要程度;日志信息的輸出目的地指定了日志將打印到控制台還是文件中;而輸出格式則控制了日志信息的顯示內容。

寫配置文件

#配置文件settingfilename.ini

log4j.rootLogger=INFO, A1, A2

#setting for appender A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n

#setting for appender A2

log4j.appender. A2=org.apache.log4j.RollingFileAppender

log4j.appender. A2.File=example.log

log4j.appender. A2.MaxFileSize=100KB

log4j.appender. A2.MaxBackupIndex=1

log4j.appender. A2.layout=org.apache.log4j.PatternLayout

log4j.appender. A2.layout.ConversionPattern=%p %t %c - %m%n

注意:其中的log4j.appender必須都為小寫

注釋:

1.配置根Logger,其語法為:

log4j.rootLogger = [ level ] , appenderName, appenderName, …

其中,level 是日志記錄的優先級,分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定義的級別。Log4j建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。通過在這裡定義的級別,您可以控制到應用程序中相應級別的日志信息的開關。指定輸出只顯示比該級別以上的信息,所有比該級別低的信息都不會被顯示。比如在這裡定義了INFO級別,則應用程序中所有DEBUG級別的日志信息將不被打印出來。

appenderName就是指定日志信息輸出到哪個地方。您可以同時指定多個輸出目的地。

2.配置日志信息輸出目的地Appender,其語法為

log4j.appender.appenderName = fully.qualifIEd.name.of.appender.class

log4j.appender.appenderName.option1 = value1

log4j.appender.appenderName.option = valueN

其中,Log4j提供的appender有以下幾種:

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件),

org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件),

org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)

3.配置日志信息的格式(布局),其語法為:

log4j.appender.appenderName.layout = fully.qualifIEd.name.of.layout.class

log4j.appender.appenderName.layout.option1 = value1

log4j.appender.appenderName.layout.option = valueN

其中,Log4j提供的layout有以下幾種:

org.apache.log4j.HTMLLayout(以Html表格形式布局),

org.apache.log4j.PatternLayout(可以靈活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串),

org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)

4.當layout為PatternLayout時,ConversionPattern的格式有下面選項:

%r: 自程序開始後消耗的毫秒數

%t: 表示日志記錄請求生成的線程

%p: 表示日志語句的優先級

%r: 與日志請求相關的類別名稱

%c: 信息所在的類名

%m%n: 表示消息的內容

5.配置文件同樣適用於服務器端和客戶端。

代碼中的使用

1. import中加入以下幾行:

import org.apache.log4j.PropertyConfigurator ;

import org.apache.log4j.Logger ;

import org.apache.log4j.Level ;

2. 定義Logger變量

static Logger logger = Logger.getLogger(ServerWithLog4j.class.getName ()) ;

3. 讀配置文件

PropertyConfigurator.configure (String settingfilename) ;

4. 顯示日志信息

按顯示級別顯示日志信息

logger.debug(String log_info);

用於顯示調試信息

logger.info (String log_info);

用於顯示系統提示信息

logger.warn(String log_info);

用於顯示警告或特殊提示

logger.error(String log_info);

用於顯示錯誤信息,一般在異常中使用。例如:

catch(IOException e) {

logger.error("IOException!");

System.exit(0);

}

以上只是很簡單的log4j包的一般使用,如果在使用中遇到問題,請查看包的API得到更詳細的信息!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved