自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java日志:遷移到 Logback 和 SLF4J

開(kāi)發(fā) 后端
由Sun提供的JDK內(nèi)的寫日志的方案一直無(wú)法全面推廣。造成這種情況的原因當(dāng)然是其缺乏可配置性和靈活性。JDK的日志方案對(duì)于比較簡(jiǎn)單的項(xiàng)目來(lái)講當(dāng)然是一種解決辦法,但對(duì)于企業(yè)級(jí)的應(yīng)用來(lái)講就不然了。

談到在Java應(yīng)用程序里寫日志,log4j過(guò)去是現(xiàn)在可能仍然是事實(shí)上的標(biāo)準(zhǔn)。

由Sun提供的JDK內(nèi)的寫日志的方案一直無(wú)法全面推廣。造成這種情況的原因當(dāng)然是其缺乏可配置性和靈活性。JDK的日志方案對(duì)于比較簡(jiǎn)單的項(xiàng)目來(lái)講當(dāng)然是一種解決辦法,但對(duì)于企業(yè)級(jí)的應(yīng)用來(lái)講就不然了。

現(xiàn)在,除了log4j之外,另有一種新的比log4j更強(qiáng)大、更快和更靈活的實(shí)現(xiàn)已經(jīng)上市了:logback。好吧,實(shí)際上logback是始于2006年的,但其版本1.0在2011年11月份才發(fā)布。 

logback開(kāi)發(fā)出來(lái)就是為了替代log4j的,它和log4j都是出自同一個(gè)開(kāi)發(fā)者。版本1.0經(jīng)過(guò)多年的測(cè)試和開(kāi)發(fā)現(xiàn)已可供使用了(***版本是1.0.1)。為了避免由于其版本號(hào)這么小而造成誤解,應(yīng)該指出的是,logback已經(jīng)在業(yè)界使用多年了,總之其版本號(hào)絕不是反映其穩(wěn)定性和功能性方面的聲明。

logback同log4j相比具有眾多優(yōu)勢(shì)。下面列出一部分:

·更快的實(shí)現(xiàn)

·自動(dòng)重新裝載日志配置文件

·更好的過(guò)濾器(filter)

·自動(dòng)壓縮歸檔的日志文件

·堆棧跟蹤里包括了Java包(jar文件)的信息

·自動(dòng)刪除舊日志歸檔文件

對(duì)于開(kāi)發(fā)者來(lái)講,從log4j轉(zhuǎn)換到logback非常容易。只要在你的Maven POM中轉(zhuǎn)換一個(gè)依賴就算準(zhǔn)備好了:

  1. <dependency>     
  2.     <groupId>ch.qos.logback</groupId>     
  3.     <artifactId>logback-classic</artifactId>     
  4.     <version>1.0.0</version>     
  5.  </dependency>  

由于傳遞性依賴,日志facace,slf4j,也已經(jīng)添加到你的project中了。

用slf4j做個(gè)“Hello World”例子,就象這樣:

  1. package demo;   
  2. import org.slf4j.Logger;   
  3. import org.slf4j.LoggerFactory;   
  4. public class HelloWorld {   
  5.   public static void main(String[] args) {   
  6.    Logger log = LoggerFactory.getLogger(HelloWorld.class);   
  7.    log.info("Hello World");   
  8.   }   
  9. }   

所有其余需要做的就是寫一個(gè)用來(lái)控制日志輸出的配置文件。

配置文件在log4j里通常叫做log4j.xml,在logback里是logback.xml,或者,在測(cè)試環(huán)境里叫做logback-test.xml。

在Maven project里,logback.xml文件必須放在$PROJECT_HOME/src/main/resources目錄中。logback-test.xml文件必須放在$PROJECT_HOME/src/test/resources目錄中。簡(jiǎn)單的配置文件可以象這樣來(lái)寫:

  1. <configuration>   
  2.  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">   
  3.   <!-- encoders are assigned the type   
  4.      ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->   
  5.   <encoder>   
  6.    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>   
  7.   </encoder>   
  8.  </appender>   
  9.  <root level="debug">   
  10.   <appender-ref ref="STDOUT" />   
  11.  </root>   
  12. </configuration>   

logback完整的手冊(cè) 非常詳盡,可到這里來(lái)閱讀。

原文鏈接:http://www.oschina.net/translate/logging-in-java-switching-to-logback

責(zé)任編輯:張偉 來(lái)源: oschina
相關(guān)推薦

2023-10-28 16:19:18

Android日志

2020-01-07 10:06:26

Slf4jLog4JLogback

2024-03-01 16:52:02

SLF4J日志框架

2023-01-11 21:22:32

Java服務(wù)器

2023-10-07 10:08:54

2021-03-15 18:47:25

日志開(kāi)發(fā)源碼

2016-10-21 13:10:18

javalog4jslf4j

2024-03-01 08:17:28

SLF4J日志框架

2020-11-04 12:33:08

Log4j 2日志Logback

2023-05-06 07:51:22

JavaFacade設(shè)計(jì)模式

2025-01-20 08:10:00

微服務(wù)架構(gòu)SLF4J

2022-12-30 08:31:27

MDC查詢?nèi)罩?/a>

2022-05-12 11:38:26

Java日志Slf4j

2020-10-27 08:24:45

阿里巴巴SLF4J

2021-08-02 15:40:20

Java日志工具

2018-08-28 15:30:54

編程語(yǔ)言Python日志系統(tǒng)

2021-04-02 07:58:36

LogbackLog4j2日志

2020-10-30 12:37:42

日志系統(tǒng)

2024-01-03 07:19:19

LogbackLog4j2Java

2022-08-30 16:38:30

阿里巴巴JavaLog4j
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)