成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

log4j2配合slf4j使用

HtmlCssJs / 1085人閱讀

摘要:說明被用于日志輸出。配置文件使用之前需要在下新建一個配置文件。系統(tǒng)選擇配置文件的優(yōu)先級從先到后如下下的名為或者的文件下的名為的文件下名為或者的文件下名為的文件我們一般默認(rèn)使用進行命名。

說明

  log4j2被用于日志輸出。因為剛接觸log4j2,因此記個博客備用。
  log4j2是一個日志框架,slf4j是日志框架接口,之所以使用log4j2和slf4j搭配使用是為了以后如果項目對日志有其它要求而需要更換日志框架時可以不改動代碼,只需要把依賴的jar包換掉就可以了。

依賴
// log4j2依賴
log4j-api-2.8.2.jar
log4j-core-2.8.2.jar
// log4j2和slf4j橋接依賴
log4j-slf4j-impl-2.8.2.jar
// slf4j依賴
slf4j-api-1.7.25.jar

注意,log4j依賴和橋接依賴的jar包版本最好保持一致。

配置文件

  使用log4j2之前需要在classpath下新建一個配置文件。需要注意的是log4j 2.x版本不再支持像1.x中的.properties后綴的文件配置方式,2.x版本配置文件后綴名只能為".xml",".json"或者".jsn"。

系統(tǒng)選擇配置文件的優(yōu)先級(從先到后)如下:

classpath下的名為log4j2-test.json 或者log4j2-test.jsn的文件

classpath下的名為log4j2-test.xml的文件

classpath下名為log4j2.json 或者log4j2.jsn的文件

classpath下名為log4j2.xml的文件

  我們一般默認(rèn)使用log4j2.xml進行命名。如果本地要測試,可以把log4j2-test.xml放到classpath,而正式環(huán)境使用log4j2.xml,則在打包部署的時候不要打包log4j2-test.xml即可。

默認(rèn)配置文件:



                    
        
            
        
    
    
        
            
        
    

配置文件實例:

  



    

        

            

            
        
        


        
            
        
        

        
            
            
        


        
            
            
        
    
    

    

        
        

        
            
            
            
            
        

    

配置文件說明
  1.根節(jié)點Configuration有兩個屬性:status和monitorinterval,有兩個子節(jié)點:Appenders和Loggers(表明可以定義多個Appender和Logger).

status用來指定log4j本身的打印日志的級別.

monitorinterval用于指定log4j自動重新配置的監(jiān)測間隔時間,單位是s,最小是5s.

  2.Appenders節(jié)點,常見的有三種子節(jié)點:Console、RollingFile、File.

Console節(jié)點用來定義輸出到控制臺的Appender.

name:指定Appender的名字.

target:SYSTEM_OUT 或 SYSTEM_ERR,一般只設(shè)置默認(rèn):SYSTEM_OUT.

PatternLayout:輸出格式,不設(shè)置默認(rèn)為:%m%n.

File節(jié)點用來定義輸出到指定位置的文件的Appender.

name:指定Appender的名字.

fileName:指定輸出日志的目的文件帶全路徑的文件名.

PatternLayout:輸出格式,不設(shè)置默認(rèn)為:%m%n.

RollingFile節(jié)點用來定義超過指定大小自動刪除舊的創(chuàng)建新的的Appender.

name:指定Appender的名字.

fileName:指定輸出日志的目的文件帶全路徑的文件名.

PatternLayout:輸出格式,不設(shè)置默認(rèn)為:%m%n.

filePattern:指定新建日志文件的名稱格式.

Policies:指定滾動日志的策略,就是什么時候進行新建日志文件輸出日志.

TimeBasedTriggeringPolicy:Policies子節(jié)點,基于時間的滾動策略,interval屬性用來指定多久滾動一次,默認(rèn)是1hour。modulate=true用來調(diào)整時間:比如現(xiàn)在是早上3am,interval是4,那么第一次滾動是在4am,接著是8am,12am...而不是7am.

SizeBasedTriggeringPolicy:Policies子節(jié)點,基于指定文件大小的滾動策略,size屬性用來定義每個日志文件的大小.

DefaultRolloverStrategy:用來指定同一個文件夾下最多有幾個日志文件時開始刪除最舊的,創(chuàng)建新的(通過max屬性)。

  3.Loggers節(jié)點,常見的有兩種:Root和Logger.

Root節(jié)點用來指定項目的根日志,如果沒有多帶帶指定Logger,那么就會默認(rèn)使用該Root日志輸出

level:日志輸出級別,共有8個級別,按照從低到高為:All < Trace < Debug < Info < Warn < Error < Fatal < OFF.

AppenderRef:Root的子節(jié)點,用來指定該日志輸出到哪個Appender.

Logger節(jié)點用來多帶帶指定日志的形式,比如要為指定包下的class指定不同的日志級別等。

level:日志輸出級別,共有8個級別,按照從低到高為:All < Trace < Debug < Info < Warn < Error < Fatal < OFF.

name:用來指定該Logger所適用的類或者類所在的包全路徑,繼承自Root節(jié)點.

AppenderRef:Logger的子節(jié)點,用來指定該日志輸出到哪個Appender,如果沒有指定,就會默認(rèn)繼承自Root.如果指定了,那么會在指定的這個Appender和Root的Appender中都會輸出,此時我們可以設(shè)置Logger的additivity="false"只在自定義的Appender中進行輸出。

輸出日志
/**
 * 
 */
package com.petro.test;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @description 數(shù)據(jù)庫工具類
 * @author PetterChen
 * @date 2017年10月14日 下午9:38:42 
 */
public class LogTest {
    /**
     * 日志輸出
     */
    private static Logger log = LoggerFactory.getLogger(LogTest.class);

    /**
     * @description 測試
     * @date 2017年10月14日 下午9:38:42
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        log.trace("trace");
        log.debug("debug");
        log.warn("warn");
        log.info("info");
        log.error("error");
    }

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/70925.html

相關(guān)文章

  • 強推!大牛程序員必備的Java日志框架,性能無敵

    摘要:本文要來分享給大家程序員最常用的日志框架組件。沒有基礎(chǔ)的同學(xué)也不要著急,這套教程覆蓋了目前所有的日志框架,只要你學(xué),就一定用得到,先收藏,以備不時之需。 作為一名Java程序員,我們開發(fā)了很多Java應(yīng)用程序,包括桌面應(yīng)用、WEB應(yīng)用以及移動應(yīng)用。然而日志系統(tǒng)是一個成熟Java應(yīng)用所必不可少的。在開發(fā)和調(diào)試階段,日志可以幫...

    zebrayoung 評論0 收藏0
  • SpringBoot(三)日志

    摘要:日志消息,是換行符如果使用作為日志配置文件,還要使用功能,會有以下錯誤切換日志框架可以按照的日志適配圖,進行相關(guān)的切換的方式切換為 三、日志 1、日志框架 小張;開發(fā)一個大型系統(tǒng); 1、System.out.println();將關(guān)鍵數(shù)據(jù)打印在控制臺;去掉?寫在一個文件? 2、框架來記錄系統(tǒng)的一些運行時信息;日志框架 ; zhanglogging.jar; 3、高大上的幾個功能?異步...

    arashicage 評論0 收藏0
  • Spring Boot 2.x(八):日志框架的選擇和使用

    摘要:我們?yōu)樯兑萌罩咀畛跷覀冮_始接觸的時候,我們通常會使用將我們想要知道的信息打印到控制臺。為什么是默認(rèn)情況下,會用來記錄日志,并用級別輸出到控制臺。 我們?yōu)樯兑萌罩荆?最初我們開始接觸Java的時候,我們通常會使用System.out.println()將我們想要知道的信息打印到控制臺。但是,如果在服務(wù)器上我們?nèi)ミ\行我們的Java程序,這個時候就凸顯了日志對于一個系統(tǒng)來說的重要性,查找...

    lpjustdoit 評論0 收藏0
  • SLF4J

    摘要:方法會調(diào)即啟動當(dāng)前的,一般就是,若返回為空,則調(diào)。若存在多個日志框架,則類加載的有多個,所以是為載入。的方法會調(diào)用,若返回的大小超過,則警告。通過完成初始化,即實例化具體的賦值給內(nèi)部的,如。 SLF4J(Simple logging Facade for Java)是一個日志框架的適配器。如果一個項目已經(jīng)使用了log4j,而你加載了Apache Active MQ——它依賴于于另外一...

    Cruise_Chan 評論0 收藏0
  • Java 日志系列篇二 slf4

    摘要:的橋接器這個橋接器將所有日志委派給的原生實現(xiàn),直接實現(xiàn)了的接口,因此使用與的搭配也暗示了嚴(yán)格的零內(nèi)存計算溢出未完待補充 起手式 忘了什么時候聽老師說過,牛逼的公司只管定義接口,屌絲廠商實現(xiàn)接口,類似 JDBC 的實現(xiàn)便是如此,用在 slf4j, 總覺得有些類似,本來 SUN 有機會在需求產(chǎn)生之前設(shè)計一套漂亮的日志框架來一統(tǒng)天下,可惜偏偏要拖到 JDK1.4, 而這套原生的日志框架也沒有...

    maybe_009 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<