log4j 簡明手冊 比較完整的講解

2021-06-02 02:27:58 字數 1781 閱讀 9780

1 log4j是什麼?

log4j是乙個開源的日誌記錄元件,其產品已經相當的成熟,且使用非常的廣泛。在工程中以易用,方便等代替了 system.out 等列印語句。

log4j的目標是:它允許開發人員以任意的精細程度控制哪些日誌說明被輸出。通過使用外部的配置檔案,可以在執行時配置它。

通過其要實現的目標,我們已理解出log4j將是乙個十分好用的元件。

log4j的具體在 找到 它。另外,log4j已經被轉換成 c, c++, c#, perl, python, ruby, 和 eiffel 語言。

下面,我就從log4j的配置檔案來具體講述,log4j的功能,通過配置檔案來學習新技術已是乙個很好的學習方法。

log4j有兩個重要的概念:一是日誌級別,其日誌級別關係為

debug>info>warn>error>fatal 原則,高階別將顯示低階別的日誌

其支援的輸出目標為 檔案,控制台,資料庫,且支援一次指定多個輸出目標

log4j的配置檔案除了支援:*.properties 檔名,還支援運用十分廣泛的xml檔案。

下面的講述中,我只通過*.properties檔案來說明。

log4j的屬性檔案的講述

# 定義根日誌,日誌級別為debug 輸出目標為控制台,檔案

log4j.rootlogger=info,a1,r

# 包com.liaowf日誌,日誌級別為debug 輸出目標為控制台,檔案(注意,包com.liaowf下的所有類將自動擁有此日誌屬性)

log4j.logger.com.liaowf=debug,a1,r

# 名稱為iamloginfo日誌,日誌級別為info,輸出目標為資料庫(注意,所有使用iamloginfo作為名稱的日誌將擁用些日誌屬性)

log4j.logger.iamloginfo=info,database

# 類com.liaowf.console.connector.synchro日誌,日誌級別為debug,輸出目標為控制台

log4j.logger.com.liaowf.console.connector.synchro=debug,a1,usersynr

# 類com.liaowf.console.authorization.dao.userdao日誌,級別為debug,輸出目標為檔案

log4j.logger.com.liaowf.console.authorization.dao.userdao=debug,a1,usertelnet

# 配置true

log4j.addivity.org.apache=true

log4j倒底能提供我們什麼功能,我們來總結一下:

1 根據我們設定的日誌級別,控制日誌的輸出

2 日誌的輸出支援自增式檔案,控制台,資料庫,還可以擴充套件。

3 日誌的屬性,當按"."命名有繼承性,我們常使用類名來命名日誌

2 通過上面的介始,我們給乙個工程沒有log4j的工程增加log4j功能的。根據下面幾個步驟,你將很輕鬆的完成。

2 編寫乙個log4j.properties 屬性檔案,放到你的原始檔的根下,再根據具體修改

3 在每乙個需要記錄日的類中,增加乙個類成員

// 初始化日誌處理類

logger log = logger.getlogger(類名.class.getname());

4 在你需要打日誌資訊的**中,如下寫出

打info資訊

log4j.infor("");

打debug資訊

if(log4j.isdebuged())

打error資訊

log4j.error("");

Log4j和JDBMonitor的比較

log4j和jdbmonitor的比較 log4j http logging.apache.org log4j docs 是乙個開源 的專案 open source project 它使開發人員能最大限度的靈活控制程式除錯資訊的輸出,這一點它是通過額外的配置檔案實現的。jdbmonitor http...

springboot整合log4j完整配置

廢話不多說了上 首先在pom.xml中過濾boot本身自帶的logging org.springframework.boot spring boot starter web org.springframework.boot spring boot starter logging 並新增log4j o...

Log4J學習 十六 Log4j的預設啟動流程一

既然要求我們自己來配置log4j,那麼又會出現相關的問題,不管我們採用哪種配置方式,log4j總會要求我們在應用啟動的最開始,完成log4j的配置,所以我們不得不在乙個靜態類的靜態 塊中完成相關的 配置。這對程式設計師和log4j框架本身的使用,都是乙個不友好的設計。考慮到這些因素,log4j提供了...