您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java中如何將log4j轉換到logback,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
談到在Java應用程序里寫日志,log4j過去是現在可能仍然是事實上的標準。
由Sun提供的JDK內的寫日志的方案一直無法全面推廣。造成這種情況的原因當然是其缺乏可配置性和靈活性。JDK的日志方案對于比較簡單的項目來講當然是一種解決辦法,但對于企業級的應用來講就不然了。
現在,除了log4j之外,另有一種新的比log4j更強大、更快和更靈活的實現已經上市了:logback。好吧,實際上logback是始于2006年的,但其版本1.0在2011年11月份才發布。
logback開發出來就是為了替代log4j的,它和log4j都是出自同一個開發者。版本1.0經過多年的測試和開發現已可供使用了(***版本是1.0.1)。為了避免由于其版本號這么小而造成誤解,應該指出的是,logback已經在業界使用多年了,總之其版本號絕不是反映其穩定性和功能性方面的聲明。
logback同log4j相比具有眾多優勢。下面列出一部分:
·更快的實現
·自動重新裝載日志配置文件
·更好的過濾器(filter)
·自動壓縮歸檔的日志文件
·堆棧跟蹤里包括了Java包(jar文件)的信息
·自動刪除舊日志歸檔文件
對于開發者來講,從log4j轉換到logback非常容易。只要在你的Maven POM中轉換一個依賴就算準備好了:
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.0.0</version> </dependency>
由于傳遞性依賴,日志facace,slf4j,也已經添加到你的project中了。
用slf4j做個“Hello World”例子,就象這樣:
package demo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class HelloWorld { public static void main(String[] args) { Logger log = LoggerFactory.getLogger(HelloWorld.class); log.info("Hello World"); } }
所有其余需要做的就是寫一個用來控制日志輸出的配置文件。
配置文件在log4j里通常叫做log4j.xml,在logback里是logback.xml,或者,在測試環境里叫做logback-test.xml。
在Maven project里,logback.xml文件必須放在$PROJECT_HOME/src/main/resources目錄中。logback-test.xml文件必須放在$PROJECT_HOME/src/test/resources目錄中。簡單的配置文件可以象這樣來寫:
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration>
logback完整的手冊 非常詳盡,可到這里來閱讀。
關于Java中如何將log4j轉換到logback就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。