日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java jar log4j_使用Log4j

發(fā)布時間:2024/10/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jar log4j_使用Log4j 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面介紹了Commons Logging,可以作為“日志接口”來使用。而真正的“日志實現(xiàn)”可以使用Log4j。

Log4j是一種非常流行的日志框架,最新版本是2.x。

Log4j是一個組件化設(shè)計的日志系統(tǒng),它的架構(gòu)大致如下:

log.info("User signed in.");

│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐

├──>│ Appender │───>│ Filter │───>│ Layout │───>│ Console │

│ └──────────┘ └──────────┘ └──────────┘ └──────────┘

│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐

├──>│ Appender │───>│ Filter │───>│ Layout │───>│ File │

│ └──────────┘ └──────────┘ └──────────┘ └──────────┘

│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐

└──>│ Appender │───>│ Filter │───>│ Layout │───>│ Socket │

└──────────┘ └──────────┘ └──────────┘ └──────────┘

當我們使用Log4j輸出一條日志時,Log4j自動通過不同的Appender把同一條日志輸出到不同的目的地。例如:

console:輸出到屏幕;

file:輸出到文件;

socket:通過網(wǎng)絡(luò)輸出到遠程計算機;

jdbc:輸出到數(shù)據(jù)庫

在輸出日志的過程中,通過Filter來過濾哪些log需要被輸出,哪些log不需要被輸出。例如,僅輸出ERROR級別的日志。

最后,通過Layout來格式化日志信息,例如,自動添加日期、時間、方法名稱等信息。

上述結(jié)構(gòu)雖然復雜,但我們在實際使用的時候,并不需要關(guān)心Log4j的API,而是通過配置文件來配置它。

以XML配置為例,使用Log4j的時候,我們把一個log4j2.xml的文件放到classpath下就可以讓Log4j讀取配置文件并按照我們的配置來輸出日志。下面是一個配置文件的例子:

%d{MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36}%n%msg%n%n

log/err.log

log/err.%i.log.gz

雖然配置Log4j比較繁瑣,但一旦配置完成,使用起來就非常方便。對上面的配置文件,凡是INFO級別的日志,會自動輸出到屏幕,而ERROR級別的日志,不但會輸出到屏幕,還會同時輸出到文件。并且,一旦日志文件達到指定大小(1MB),Log4j就會自動切割新的日志文件,并最多保留10份。

有了配置文件還不夠,因為Log4j也是一個第三方庫,我們需要從這里下載Log4j,解壓后,把以下3個jar包放到classpath中:

log4j-api-2.x.jar

log4j-core-2.x.jar

log4j-jcl-2.x.jar

因為Commons Logging會自動發(fā)現(xiàn)并使用Log4j,所以,把上一節(jié)下載的commons-logging-1.2.jar也放到classpath中。

要打印日志,只需要按Commons Logging的寫法寫,不需要改動任何代碼,就可以得到Log4j的日志輸出,類似:

03-03 12:09:45.880 [main] INFO com.itranswarp.learnjava.Main

Start process...

最佳實踐

在開發(fā)階段,始終使用Commons Logging接口來寫入日志,并且開發(fā)階段無需引入Log4j。如果需要把日志寫入文件,

只需要把正確的配置文件和Log4j相關(guān)的jar包放入classpath,就可以自動把日志切換成使用Log4j寫入,無需修改任何代碼。

練習

根據(jù)配置文件,觀察Log4j寫入的日志文件。

小結(jié)

通過Commons Logging實現(xiàn)日志,不需要修改代碼即可使用Log4j;

使用Log4j只需要把log4j2.xml和相關(guān)jar放入classpath;

如果要更換Log4j,只需要移除log4j2.xml和相關(guān)jar;

只有擴展Log4j時,才需要引用Log4j的接口(例如,將日志加密寫入數(shù)據(jù)庫的功能,需要自己開發(fā))。

總結(jié)

以上是生活随笔為你收集整理的java jar log4j_使用Log4j的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。