Log4j的簡單運用

http://publishblog.blogchina.com/blog/tb.b?diaryID=2389757

1
、概述
Log4JLog4家族的員,Log4家族包掛:看4之後的字母都知道這是給哪種環境而開發的API。其中我們要介紹的Log4j當然就是針對Java而開發的API了。
Log4家族
Log4C
適合C
Log4CPlus/Log4cpp
適合C++
Log4j
適合Java
Log4Net
適合DOTNet
Log4Perl
適合Perl
Log4PHP
適合PHP
Log4PLSQL
適合PL/SQL
Log4LS
適合LotusScript
Log4py/Log4p
適合python
qmmslog
適合Qt/C++ 平臺
Log4r
適合Ruby
JDK1.4's util.logging framework
適合JDK1.4Util
我們省略了對Log4j的長篇大論,簡要的概括它的作用:它是應用程序日誌的輸出接口,輸出格式和輸出位置自定,開發過程中可以使用,運行過程中也可以使用。日誌類別主要有:
日誌類別
DEBUG 
調試信息
INFO  
一般信息
WARN 
警告信息
ERROR
錯誤信息
FATAL 
嚴重錯誤信息
也就是說你可以根據這些級別定義輸出日誌的類型。我們還是直接進入如何使用,不要講太多的理論。
2、下載Log4J
下載地址是:http://logging.apache.org/site/binindex.cgi,目前可用最高版本是:
jakarta-log4j-1.2.9根據不同平臺有不同的包,比如windows平臺:jakarta-log4j-1.2.9zip,解壓之後找到:jakarta-log4j-1.2.9dist/lib目錄下的log4j-1.2.9jar文件,這就是我們要用的jar文件了,其他文件暫時擱置不動。把這個文件拷貝到指定位置,比如D:/Lib目錄下。(待會我們會在應用程序工程中添加這個文件)。
3 Log4j輸出格式定義     
  Log4j的格式定義是通過一個“.properties”文件定義的,該文件裏面定義了很多關於數定格式和輸出位置的元素,看看下面例子的.properties文件(例子中以Log4j.properties爲名稱)。切換log4j.rootLogger=debug, B1B1或是A1,以及註釋不同位置,實現日誌輸出到文件還是控制檯。把這個Log4j.properties文件放置工程的最上層目錄(與.jpx文件在同一目錄)。
Log4j.properties的內容:

log4j.rootLogger=debug, B1
#打印到文件
#log4j.appender.A1=org.apache.log4j.RollingFileAppender
#log4j.appender.A1.File=example.log
#log4j.appender.A1.MaxFileSize=100KB
#log4j.appender.A1.MaxBackupIndex=1
#log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

 

#打印到控制檯
log4j.appender.B1=org.apache.log4j.ConsoleAppender
log4j.appender.B1.layout=org.apache.log4j.PatternLayout
log4j.appender.B1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.appender.B1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
4、在Java類文件裏使用Log4j
4.1Import需要的包文件
import org.apache.log4j.*;把這個語句放置在文件的Import位置。
4.2、定義Logger對象
static Logger logger = Logger.getLogger(Frame1.class.getName());在程序申明變量的地方定義這個對象,並且是靜態對象。其中的Frame1是你當前類的名稱。
4.3、裝載屬性文件
PropertyConfigurator.configure("Log4j.properties");
Log4j會在與Log4j.properties同目錄的地方創建example.log文件,並記錄日誌信息,當文件的尺寸大於100KB時,log4J會創建一個新的example.log文件,同時備份example.log文件。備份的文件個數取決於MaxBackupIndex屬性。
接下來的篇節我們介紹Log4jEclipse上的應用過程
5、向Eclipse添加log4j-1.2.8.jar
5.1、新建Java項目時引入
       第一種情況是在新建java項目時第二步驟選擇【庫L-【添加外部JAR(X)-選擇log4j-1.2.8.jar,點擊【打開】回到新建工程第二步驟的界面,點擊完成。這樣就引入了需要的庫文件了。
5.2、向已經存在工程添加log4j-1.2.8.jar
如果工程已經存在,通過右擊工程名稱-【屬性】-【java構建路徑】-【添加外部JAR(X)-選擇log4j-1.2.8.jar,點擊【打開】回到新建工程屬性的界面-【確定】會到工程的界面。
5.3、導入Log4j.properties文件
       通過工程的導入功能,直接把Log4j.properties文件導入到與工程最高層的目錄。其他步驟同6.16.4
5.4、一個普通的應用結構如下的內容:

/*
 * Created on 2004-10-10
 */
package com.log4j;
import org.apache.log4j.*;

 

/**
 * @author Jem.lee
 */
public class MyLogTest {
    
    static Logger logger = Logger.getLogger(MyLogTest.class.getName());

 

    public static void main(String[] args) {
        PropertyConfigurator.configure("Log4j.properties");
        MyLogTest.logger.info("測試信息開始");
        MyLogTest.logger.info("測試信息結束");
    }
}
 輸出結果:

INFO [main] (MyLogTest.java:16) - 測試信息開始
INFO [main] (MyLogTest.java:17) - 測試信息結束
8、總結
使用Log4j可以實現日誌的記錄的輸出工作,其實很多應用都會帶一個日誌管理模塊,如何充分的利用日誌也是系統一大特點,自行開發日誌類功能和操作的方式可能好於Log4j,但是我相信絕大部分不可能,不如使用現成的API,效率提高了,規範整齊了,一切都好了。

- 作者: haoqingshi 訪問統計: <script src="http://counter.blogchina.com/PageServlet?pageid=2389757&blogid=1154340" language="JavaScript" type="text/javascript"></script> 415 2005年07月26日, 星期二 10:59 加入博採

Trackback

 
發佈了18 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章