這篇文章將為大家詳細講解有關(guān)Log4j與Log4j2有哪些不同的地方,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
豐潤網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,豐潤網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為豐潤上千多家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設公司要多少錢,請找那個售后服務好的豐潤做網(wǎng)站的公司定做!
log4j是Apache的一個開源項目,我們不去考究它的起源時間,但是據(jù)我了解,log4j 1已經(jīng)不再更新了。
回顧log4j,曾給我們留下了多少的回憶,我記得早些年,那時候mybatis還是叫ibatis的時候,我為了配置ibatis控制臺打印日志,糾結(jié)了多少個夜晚,最后配置出來時的那種喜悅感。廢話不多說,下面我就以列舉的方式來淺談log4j和log4j 2的不同之處。
1、配置文件類型
log4j是通過一個.properties的文件作為主配置文件的,而現(xiàn)在的log4j 2則已經(jīng)棄用了這種方式,采用的是.xml,.json或者.jsn這種方式來做,可能這也是技術(shù)發(fā)展的一個必然性,畢竟properties文件的可閱讀性真的是有點差。
2、核心JAR包
log4j只需要引入一個jar包即可,
log4j log4j 1.2.17
•1
•2
•3
•4
•5
•1
•2
•3
•4
•5
而log4j 2則是需要2個核心
org.apache.logging.log4j log4j-core 2.5 org.apache.logging.log4j log4j-api 2.5
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
大家發(fā)現(xiàn)沒,log4j和log4j 2的包路徑是不同的,Apache為了區(qū)分,包路徑都更新了,這樣大家甚至可以在一個項目中使用2個版本的日志輸出哦!(不過我想你們沒有那么調(diào)皮吧,嘿嘿)
3、文件渲染
log4j想要生效,我們需要在web.xml中進行配置,
org.springframework.web.util.Log4jConfigListener log4jConfigLocation classpath:config/log4j.properties log4jRefreshInterval 60000
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
•1
•2
•3
•4
•5
•6
•7
•8
•9
•10
這段配置目的在于告訴工程去哪加載log4j的配置文件和定義一個掃描器,這樣可以隨心所欲的放置log4j配置文件。
log4j2就比較簡單,以maven工程為例,我們只需要把log4j2.xml放到工程resource目錄下就行了。大家記住一個細節(jié)點,是log4j2.xml,而不是log4j.xml,xml名字少個2都不行?。?/p>
•喜歡做學問的小伙伴,有興趣可以去研究下,照我估計應該是在log4j2的包里面配置死了,而且大家可以嘗試下怎么自定義log4j2.xml的位置。
4、Log調(diào)用
log4j和log4j2調(diào)用都是很簡單的。
log4j:
import org.apache.log4j.Logger; private final Logger LOGGER = Logger.getLogger(Test.class.getName());
•1
•2
•1
•2
log4j2:
import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; private static Logger logger = LogManager.getLogger(Test.class.getName());
•1
•2
•3
•4
•1
•2
•3
•4
5、配置文件方式
最關(guān)鍵的最大的不同,那就是配置文件的區(qū)別了,大家具體使用的時候再根據(jù)你的情況進行配置就行了。
log4j2 例子如下:
<?xml version="1.0" encoding="UTF-8"?>
關(guān)于Log4j與Log4j2有哪些不同的地方就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。