日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一文讀懂Logback的配置

前言

文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/bin392328206/six-finger

嘉定ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

種一棵樹最好的時間是十年前,其次是現(xiàn)在

絮叨

為啥想著寫這個呢?是這樣,小六六每次搭建系統(tǒng)的時候,都會涉及到這塊的配置嘛,然后我發(fā)現(xiàn)我搭建了這么多次的系統(tǒng),大部分的情況下,竟然是copy來完成的,然后這次搭建的過程中,又對這些配置又了點理解,所以打算給大家分享分享一些關鍵的點,讓大家多Java 項目的日志有一些更加深入的理解吧!當然這邊文章也得給大家清晰的理解logback的配置吧!盡量寫的直白點!文章打算沖以下幾個方面來描述

  • 官網(wǎng)文檔
  • logback.xml常用配置詳解
  • 一個小案例加深對配置的理解
  • logback.xml的參考配置(實戰(zhàn))
  • 開發(fā)時,小六六自己的一些特殊的用法(實戰(zhàn))

參考的文檔

開始就先給大家給貼下參考的文檔吧!不過我覺得你應該不會去看,哈哈。我也是一樣的,看不下去官方文檔

logback.xml常用配置詳解

常用節(jié)點結構圖:

相信大家對這個圖應該不陌生,就是我們再spring-logback.xml里面要配置的文件就是這幾個配置,下面我先來給大家講講細節(jié)

根節(jié)點 configuration

包含下面三個屬性

  • scan: 當此屬性設置為true時,配置文件如果發(fā)生改變,將會被重新加載,默認值為true。
  • scanPeriod: 設置監(jiān)測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。
  • debug: 當此屬性設置為true時,將打印出logback內(nèi)部日志信息,實時查看logback運行狀態(tài)。默認值為false。
 
 
 
 
  1.  
  2.      
  3.  

子節(jié)點 appender

它的作用是負責寫日志的組件,它有兩個必要屬性name和class。name指定appender名稱,class指定appender的全限定名。

下面小六六帶大家來看看我們常見的幾種appender吧!工作上肯定用的到的

ConsoleAppender 把日志輸出到控制臺

encoder:對日志進行格式化。

 
 
 
 
  1.    
  2.       ${CONSOLE_LOG_PATTERN}
  3.    

FileAppender:把日志添加到文件

  • file:被寫入的文件名,可以是相對目錄,也可以是絕對目錄,如果上級目錄不存在會自動創(chuàng)建,沒有默認值。
  • append:如果是 true,日志被追加到文件結尾,如果是 false,清空現(xiàn)存文件,默認是true。
  • encoder:對記錄事件進行格式化。
  • prudent:如果是 true,日志會被安全的寫入文件,即使其他的FileAppender也在向此文件做寫入操作,效率低,默認是 false。
 
 
 
 
  1.  
  2.        
  3.         testFile.log 
  4.         true 
  5.          
  6.           %-4relative [%thread] %-5level %logger{35} - %msg%n 
  7.          
  8.        
  9.        
  10.        
  11.        
  12.   

RollingFileAppender 滾動記錄文件,先將日志記錄到指定文件,當符合某個條件時,將日志記錄到其他文件 這個小六六覺得是用的最多的一個了

  • file:被寫入的文件名,可以是相對目錄,也可以是絕對目錄,如果上級目錄不存在會自動創(chuàng)建,沒有默認值。
  • append:如果是 true,日志被追加到文件結尾,如果是 false,清空現(xiàn)存文件,默認是true。
  • rollingPolicy:當發(fā)生滾動時,決定RollingFileAppender的行為,涉及文件移動和重命名。屬性class定義具體的滾動策略類

class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy":最常用的滾動策略,它根據(jù)時間來制定滾動策略,既負責滾動也負責出發(fā)滾動。

 
 
 
 
  1.    ${log.path}/dataBi.dat
  2.    
  3.       ${log.path}/dataBi.dat.%d{yyyyMMdd}.gz
  4.       30
  5.    
  6.    
  7.       UTF-8
  8.       %date|%msg%n
  9.    

class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy":查看當前活動文件的大小,如果超過指定大小會告知RollingFileAppender 觸發(fā)當前活動文件滾動

 
 
 
 
  1.    ${log.path}/debug.log
  2.    
  3.       ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz
  4.       50MB
  5.       30
  6.    
  7.    
  8.       %date [%thread] %-5level [%logger{50}] %file:%line - %msg%n
  9.    

子節(jié)點 logger

用來設置某一個包或具體的某一個類的日志打印級別、以及指定。

  • logger僅有一個name屬性,一個可選的level和一個可選的addtivity屬性
  • 可以包含零個或多個元素,標識這個appender將會添加到這個logger。
  • name: 用來指定受此loger約束的某一個包或者具體的某一個類。
  • level: 用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,還有一個特殊值INHERITED或者同義詞NULL,代表強制執(zhí)行上級的級別。如果未設置此屬性,那么當前l(fā)oger將會繼承上級的級別。
  • addtivity: 是否向上級logger傳遞打印信息。默認是true??梢园銈€或多個appender-ref素,標識這個appender將會添加到這個logger。
 
 
 
 
  1.    

像我們的bi日志,一般這種標準化,流程化的日志。

子節(jié)點root

它也是logger元素,但是它是根loger,是所有的上級。只有一個level屬性,因為name已經(jīng)被命名為"root",且已經(jīng)是最上級了。

 
 
 
 
  1.    
  2.    
  3.    

好了,上面就是我們比較重要的幾個元素了,還有一兩個小元素的話,小六六這邊就沒給大家看了。

logback.xml配置示例

 
 
 
 
  1.     
  2.     
  3.     
  4.     
  5.         
  6.             
  7.             %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
  8.         
  9.     
  10.     
  11.     
  12.         
  13.             
  14.             ${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log
  15.             
  16.             30
  17.         
  18.         
  19.             
  20.             %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
  21.         
  22.         
  23.         
  24.             10MB
  25.         
  26.     
  27.     
  28.     
  29.     
  30.     
  31.     
  32.     
  33.     
  34.     
  35.     
  36.     
  37.     
  38.     
  39.     
  40.         
  41.         
  42.     

一個小案例加深對配置的理解

 
 
 
 
  1.     
  2.     
  3.     
  4.     
  5.         
  6.             
  7.             %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
  8.         
  9.     
  10.     
  11.     
  12.         
  13.             
  14.             ${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log
  15.             
  16.             30
  17.         
  18.         
  19.             
  20.             %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
  21.         
  22.         
  23.         
  24.             10MB
  25.         
  26.     
  27.     
  28.     
  29.     
  30.     
  31.     
  32.     
  33.     
  34.     
  35.     
  36.     
  37.     
  38.     
  39.     
  40.         
  41.         
  42.     

開發(fā)時,小六六自己的一些特殊的用法(實戰(zhàn))

  • 第一個,就是在日志的時候加上traceId,這樣的好處就是可以把日志收集到日志平臺的時候,可以很好的查到整個流程
 
 
 
 
  1.     ${graylogHost}
  2.     ${graylogPort}
  3.     
  4.         ${originHost}
  5.         false
  6.         true
  7.         true
  8.         false
  9.         false
  10.         true
  11.         
  12.             %m%nopex
  13.         
  14.         
  15.             %m%n
  16.         
  17.         app_name:${appName}
  18.         app_version:${appVersion}
  19.         os_arch:${os.arch}
  20.         os_name:${os.name}
  21.         os_version:${os.version}
  22.         uri:%X{uri}
  23.         uid:%X{uid}
  24.         ip:%X{ip}
  25.         traceId:%X{traceId}
  26.     

其中的原理是通過MDC實現(xiàn)的

  • 第二個就是,我們一些格式話的日志,做到數(shù)倉里面
 
 
 
 
  1.    ${log.path}/dataBi.dat
  2.    
  3.       ${log.path}/dataBi.dat.%d{yyyyMMdd}.gz
  4.       30
  5.    
  6.    
  7.       UTF-8
  8.       %date|%msg%n
  9.    
  10.    ${log.path}/dataDi.dat
  11.    
  12.       ${log.path}/dataDi.dat.%d{yyyyMMdd}.gz
  13.       30
  14.    
  15.    
  16.       UTF-8
  17.       %date|%msg%n
  18.    

類似于這種。。

結束

我是小六六,三天打魚,兩天曬網(wǎng),今天就到這了哈!


網(wǎng)站題目:一文讀懂Logback的配置
分享網(wǎng)址:http://www.dlmjj.cn/article/cciodsi.html