成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

LogBack與Log4j配置與日志分模塊打印

kycool / 3435人閱讀

摘要:如果日志級(jí)別等于配置級(jí)別,過(guò)濾器會(huì)根據(jù)和接收或拒絕日志。例如過(guò)濾掉所有低于級(jí)別的日志。有個(gè)子標(biāo)簽,用于配置求值條件。

沒時(shí)間解釋了,快上車,老司機(jī)先看代碼

LogBack.xml


    
    
    
    
 
    
        
            DEBUG
        
        
      ${MESSAGE_FILE_PATTERN}
        
    

    
        true
          
                INFO  
            ACCEPT  
            DENY  
          
        ${catalina.base}/logs/vod.log
        
            ${catalina.base}/logs/vod-info-%d{yyyy-MM-dd}.log
            ${maxhistory}
        
        
            ${MESSAGE_FILE_PATTERN}
            
        
    
    
        true
          
                INFO  
            ACCEPT  
            DENY  
          
        ${catalina.base}/logs/vod-music.log
        
            ${catalina.base}/logs/vod-music-%d{yyyy-MM-dd}.log
            ${maxhistory}
        
        
            ${MESSAGE_FILE_PATTERN}
            
        
    

    
        true
        
            WARN
        
        ${catalina.base}/logs/vod-error.log
        
            ${catalina.base}/logs/vod-error-%d{yyyy-MM-dd}.log
            ${maxhistory}
        
        
            ${MESSAGE_FILE_PATTERN}
            
        
    
    
        true
          
                INFO  
            ACCEPT  
            DENY  
          
        ${catalina.base}/logs/vod-douban.log
        
            ${catalina.base}/logs/vod-douban-%d{yyyy-MM-dd}.log
            ${maxhistory}
        
        
            ${MESSAGE_FILE_PATTERN}
            
        
    
   
    
    
    

    
    

    
    

    
    

    
    

    
    

    
    
    
     
        
        
    
    
     
        
        
    
    
    
        
        
        
    

上述實(shí)現(xiàn)了
1、將DEBUG、INFO、WRAN/ERROR日志分開打印到不同文件
2、通過(guò)包名來(lái)按模塊打印到特定文件
3、日志文件每天rolling、保存最大歷史日志文件數(shù)

幾個(gè)注意點(diǎn):
1、日志打印格式如下:%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level %marker %thread %logger %msg%n
沒有打印具體的方法名。如果要打印方法名:加個(gè)%M
%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level %marker %thread %logger.%M %msg%n
但是打印方法名可能會(huì)加大日志開銷,從而影響速度問(wèn)題。
說(shuō)明見:http://stackoverflow.com/ques...

Generating the method name is not particularly fast. Thus, its use should be avoided unless execution speed is not an issue.

2、additivity的作用
additivity的作用在于children-logger是否使用 rootLogger配置的appender進(jìn)行輸出。
false:表示只用當(dāng)前l(fā)ogger的appender-ref。
true:表示當(dāng)前l(fā)ogger的appender-ref和rootLogger的appender-ref都有效。也就是說(shuō)會(huì)打印至少兩遍。

3、filter的作用
過(guò)濾器,執(zhí)行一個(gè)過(guò)濾器會(huì)有返回個(gè)枚舉值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志將立即被拋棄不再經(jīng)過(guò)其他過(guò)濾器;返回NEUTRAL,有序列表里的下個(gè)過(guò)濾器過(guò)接著處理日志;返回ACCEPT,日志會(huì)被立即處理,不再經(jīng)過(guò)剩余過(guò)濾器。
過(guò)濾器被添加到 中,為 添加一個(gè)或多個(gè)過(guò)濾器后,可以用任意條件對(duì)日志進(jìn)行過(guò)濾。 有多個(gè)過(guò)濾器時(shí),按照配置順序執(zhí)行。

幾個(gè)常用的過(guò)濾器:
LevelFilter: 級(jí)別過(guò)濾器,根據(jù)日志級(jí)別進(jìn)行過(guò)濾。如果日志級(jí)別等于配置級(jí)別,過(guò)濾器會(huì)根據(jù)onMath 和 onMismatch接收或拒絕日志。有以下子節(jié)點(diǎn):
:設(shè)置過(guò)濾級(jí)別
:用于配置符合過(guò)濾條件的操作
:用于配置不符合過(guò)濾條件的操作

例如:將過(guò)濾器的日志級(jí)別配置為INFO,所有INFO級(jí)別的日志交給appender處理,非INFO級(jí)別的日志,被過(guò)濾掉。

   
       
      INFO   
      ACCEPT   
      DENY   
       
       
         
        %-4relative [%thread] %-5level %logger{30} - %msg%n   
         
       
 

ThresholdFilter: 臨界值過(guò)濾器,過(guò)濾掉低于指定臨界值的日志。當(dāng)日志級(jí)別等于或高于臨界值時(shí),過(guò)濾器返回NEUTRAL;當(dāng)日志級(jí)別低于臨界值時(shí),日志會(huì)被拒絕。
例如:過(guò)濾掉所有低于INFO級(jí)別的日志。

   
       
       
      INFO   
       
       
         
        %-4relative [%thread] %-5level %logger{30} - %msg%n   
         
       
   

EvaluatorFilter: 求值過(guò)濾器,評(píng)估、鑒別日志是否符合指定條件。需要額外的兩個(gè)JAR包,commons-compiler.jar和janino.jar有以下子節(jié)點(diǎn):
:
鑒別器,常用的鑒別器是JaninoEventEvaluato,也是默認(rèn)的鑒別器,它以任意的java布爾值表達(dá)式作為求值條件,求值條件在配置文件解釋過(guò)成功被動(dòng)態(tài)編譯,布爾值表達(dá)式返回true就表示符合過(guò)濾條件。evaluator有個(gè)子標(biāo)簽,用于配置求值條件。
:用于配置符合過(guò)濾條件的操作
:用于配置不符合過(guò)濾條件的操作

    
             
          
        return message.contains("billing");   
         
      ACCEPT   
      DENY  
       
       
         
        %-4relative [%thread] %-5level %logger - %msg%n   
         
       
   

參考:
https://github.com/makotan/lo...
http://stackoverflow.com/ques...
http://czj4451.iteye.com/blog...
http://aub.iteye.com/blog/111...

Log4j.properties配置
# Output pattern : date [thread] priority category - message
log4j.rootLogger=INFO, Console, RollingFile,Error

#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[shopping] %-d{HH:mm:ss} %p [%c{1}.%M(%L)]  %m%n

#RollingFile
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=${catalina.base}/logs/shopping/shopping.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=[shopping] %-d{HH:mm:ss} %p [%c{1}.%M(%L)]  %m%n
log4j.appender.RollingFile.filter.a=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.RollingFile.filter.a.LevelMin=INFO
log4j.appender.RollingFile.filter.a.LevelMax=INFO
log4j.appender.RollingFile.filter.a.acceptOnMatch=true
 
#ShoppingUtil
log4j.appender.ShoppingUtil=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ShoppingUtil.File=${catalina.base}/logs/shopping/shopping-util.log
log4j.appender.ShoppingUtil.layout=org.apache.log4j.PatternLayout
log4j.appender.ShoppingUtil.layout.ConversionPattern=[shopping] %-d{HH:mm:ss} %p [%c{1}.%M(%L)]  %m%n
log4j.appender.ShoppingUtil.filter.aa=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.ShoppingUtil.filter.aa.LevelMin=INFO
log4j.appender.ShoppingUtil.filter.aa.LevelMax=INFO
log4j.appender.ShoppingUtil.filter.aa.acceptOnMatch=true
 

#error
log4j.appender.Error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Error.File=${catalina.base}/logs/shopping/shopping-error.log
log4j.appender.Error.layout=org.apache.log4j.PatternLayout
log4j.appender.Error.layout.ConversionPattern=[shopping] %-d{HH:mm:ss} %p [%c{1}.%M(%L)]  %m%n
log4j.appender.Error.Threshold=WARN


#Project defalult level
log4j.logger.org.springside.examples.miniweb=INFO

log4j.logger.com.opensymphony.xwork2.interceptor.ParametersInterceptor=DEBUG

log4j.logger.org.springside= INFO

log4j.logger.com.shopping= INFO

log4j.logger.com.shopping.shop.utility=INFO,Console,ShoppingUtil,Error
log4j.additivity.com.shopping.shop.utility=false 

參考:
http://stackoverflow.com/ques...
http://www.cnblogs.com/0201zc...
http://blog.csdn.net/liu251/a...

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69908.html

相關(guān)文章

  • java日志框架

    摘要:一日志概述領(lǐng)域存在多種日志框架,目前常用的日志框架包括,,,,,。開銷更高三與其他日志組件調(diào)用關(guān)系包名說(shuō)明版本的橋接器,你需要將加入。的橋接器,原生日志框架。 一、Java日志概述 java領(lǐng)域存在多種日志框架,目前常用的日志框架包括Log4j 1,Log4j 2,Commons Logging,Slf4j,Logback,Jul。 Commons Logging和Slf4j是日志...

    dendoink 評(píng)論0 收藏0
  • logback的簡(jiǎn)單使用

    摘要:的測(cè)試完全不同級(jí)別的。記錄請(qǐng)求的級(jí)別在高于或等于其的有效級(jí)別時(shí)被稱為被啟用,否則,稱為被禁用。該規(guī)則是的核心。指定名稱,指定的全限定名。對(duì)記錄事件進(jìn)行格式化。查看當(dāng)前活動(dòng)文件的大小,如果超過(guò)指定大小會(huì)告知觸發(fā)當(dāng)前活動(dòng)文件滾動(dòng)。 一、logback的介紹 Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開源日志組件,官方網(wǎng)站: http://logback.qos.ch。 logback當(dāng)...

    habren 評(píng)論0 收藏0
  • 9、springcloud整合logback打印sql語(yǔ)句

    摘要:公眾號(hào)樂園是由創(chuàng)始人設(shè)計(jì)的又一個(gè)開源日志組件。此外完整實(shí)現(xiàn)使你可以很方便地更換成其它日志系統(tǒng)如或。是要與結(jié)合起來(lái)用的。從控制臺(tái)打印出來(lái)的日志級(jí)別只有還有。這里可以使用絕對(duì)路徑如,會(huì)自動(dòng)在盤下創(chuàng)建文件夾和相應(yīng)的日志文件。 公眾號(hào) java樂園 Logback是由log4j創(chuàng)始人設(shè)計(jì)的又一個(gè)開源日志組件。logback當(dāng)前分成三個(gè)模塊:logback-core、logback- class...

    singerye 評(píng)論0 收藏0
  • 強(qiáng)推!大牛程序員必備的Java日志框架,性能無(wú)敵

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

    zebrayoung 評(píng)論0 收藏0
  • springboot超級(jí)詳細(xì)的日志配置(基于logback)

    摘要:默認(rèn)情況下將級(jí)別的日志輸出到控制臺(tái)中,不會(huì)寫到日志文件,且不能進(jìn)行復(fù)雜配置。節(jié)點(diǎn)用于定義變量,方便使用。 showImg(https://raw.githubusercontent.com/FleyX/files/master/blogImg/20190320135049.png); 前言 ??java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj...

    meislzhua 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

kycool

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<