Log4j深入淺出

2021-04-02 23:01:57 字數 1647 閱讀 9237

log4j是apache組織的乙個開源專案,它是乙個日誌操作包,通過使用log4j可以指定日誌資訊輸出的目的地,如控制台,檔案,gui元件,nt的時間記錄器,還可以控制每一條日誌輸出的格式,此外通過定義日誌的級別,能夠非常細緻的控制日誌的輸出,最好的地方是這些功能可以通過乙個配置檔案來靈活的進行配置,而不需要修改程式**.在應用程式中輸出日誌有三個目的:

1)監視**變數的變化情況,把詳細資訊記錄到檔案中,進行統計分析.

2)

跟蹤**執行軌跡,作為日後審計的依據.

3)

擔當整合開發環境中的偵錯程式的作用,向檔案和控制器列印**的除錯資訊.

學習log4j最重要的是首先要了解兩個常用的介面:log和logfactory.首先說一說log介面.通用日誌包把日誌訊息分為6個級別:

1)

fatal致命的

2)error錯誤

3)warn警告

4)info資訊

5)debug除錯

6)trace細節

其中級別按照以上的順序,org.apache.commons.logging.log介面代表日誌器,它提供

一組輸出日誌的方法.例如fatal(object message)引數都是乙個物件,要注意的是只有當它輸出日誌的級別大於或者等於為日誌配置的級別的時候,這個方法才會被執行.log介面還提供了一組判斷是否允許輸出特定級別日誌資訊的方法,很簡單例如isfatalenabled()在程式輸出某種級別的日誌訊息之前,提倡先呼叫以上的方法來判斷該級別的日誌是否允許輸出,這有助於提高應用的效能.這種判斷主要是為了提高效能,避免執行多餘的操作.

以上闡述了重要的log介面,下面簡單說明一下logfactory介面,這個介面也和log介面一樣在logging包中,介面提供了獲得日誌器例項的兩個靜態方法如下:

public static log getlog(string name)throws logconfigurationexception;

public static log getlog(class class)throws logconfigurationexception;

第乙個getlog()方法name引數作為日誌器的名字,第二個getlog()方法以class引數指定的類的名字作為日誌器的名字.

在強調可重用元件的今天,除了自己從頭到尾開發乙個可重用的日誌操作類以外,還有乙個apache為我們提供的乙個強有力的現成的日誌操作包log4j.主要由三大元件構成:

1)

logger:負責生成日誌,並能夠對日誌資訊進行分類篩選.

2) 3)

layout:指定日誌資訊的輸出格式.

1)

將log4j的jar檔案copy到web-inf的lib目錄下.

2)

建立log4j的配置檔案log4j.properties存放在classes目錄下.

log4j.rootlogger=info,console,file

配置檔案配置好了,在action裡呼叫我就不用詳細寫了,很簡單,就是引入logging的包,然後在execute()方法中通過log log=logfactory.getlog(「name」);獲取具體的log物件,在通過log.fatal(「資訊」);類似的方法操作日誌,還可以通過isdebugenbled()等方法判斷日誌的輸出.

Log4j深入淺出

log4j深入淺出 log4j是apache組織的乙個開源專案,它是乙個日誌操作包,通過使用log4j可以指定日誌資訊輸出的目的地,如控制台,檔案,gui元件,nt的時間記錄器,還可以控制每一條日誌輸出的格式,此外通過定義日誌的級別,能夠非常細緻的控制日誌的輸出,最好的地方是這些功能可以通過乙個配置...

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

深入淺出Spring IOC 4

前言 今天我們來學習實際開發中經常會使用到的ioc技術 通過ioc容器架構程式的分層。實現有兩種方式 基於xml配置檔案,基於註解。思路 我們把程式分為3層 controller層,service層,dao層。關係為controller層呼叫service層,service層呼叫dao層,並且ser...