1. 程式人生 > >logback 配置詳解(一)

logback 配置詳解(一)

一:根節點<configuration>包含的屬性:

scan:

當此屬性設定為true時,配置檔案如果發生改變,將會被重新載入,預設值為true。

scanPeriod:

設定監測配置檔案是否有修改的時間間隔,如果沒有給出時間單位,預設單位是毫秒。當scan為true時,此屬性生效。預設的時間間隔為1分鐘。

debug:

當此屬性設定為true時,將打印出logback內部日誌資訊,實時檢視logback執行狀態。預設值為false。

例如:

Xml程式碼 
  1. <configurationscan="true"scanPeriod="60 seconds"
    debug="false">
  2.       <!-- 其他配置省略-->
  3. </configuration>

二:根節點<configuration>的子節點:

 

2.1設定上下文名稱:<contextName>

每個logger都關聯到logger上下文,預設上下文名稱為“default”。但可以使用<contextName>設定成其他名字,用於區分不同應用程式的記錄。一旦設定,不能修改。

Xml程式碼 
  1. <configurationscan="true"scanPeriod="60 seconds"
    debug="false">
  2.       <contextName>myAppName</contextName>
  3.       <!-- 其他配置省略-->
  4. </configuration>

2.2設定變數:<property>

用來定義變數值的標籤,<property> 有兩個屬性,name和value;其中name的值是變數的名稱,value的值時變數定義的值。通過<property>定義的值會被插入到logger上下文中。定義變數後,可以使“${}”來使用變數。

例如使用<property>定義上下文名稱,然後在<contentName>設定logger上下文時使用。

Xml程式碼 
  1. <configurationscan="true"scanPeriod="60 seconds"debug="false">
  2.       <propertyname="APP_Name"value="myAppName"/>
  3.       <contextName>${APP_Name}</contextName>
  4.       <!-- 其他配置省略-->
  5. </configuration>

2.3獲取時間戳字串:<timestamp>

兩個屬性 key:標識此<timestamp>的名字;datePattern:設定將當前時間(解析配置檔案的時間)轉換為字串的模式,遵循java.txt.SimpleDateFormat的格式。

      例如將解析配置檔案的時間作為上下文名稱:

Xml程式碼 
  1. <configurationscan="true"scanPeriod="60 seconds"debug="false">
  2.       <timestampkey="bySecond"datePattern="yyyyMMdd'T'HHmmss"/>
  3.       <contextName>${bySecond}</contextName>
  4.       <!-- 其他配置省略-->
  5. </configuration>

2.4設定loger:

<loger>

用來設定某一個包或者具體的某一個類的日誌列印級別、以及指定<appender>。<loger>僅有一個name屬性,一個可選的level和一個可選的addtivity屬性。

name:

用來指定受此loger約束的某一個包或者具體的某一個類。

level:

用來設定列印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,還有一個特俗值INHERITED或者同義詞NULL,代表強制執行上級的級別。

如果未設定此屬性,那麼當前loger將會繼承上級的級別。

addtivity:

是否向上級loger傳遞列印資訊。預設是true。

<loger>可以包含零個或多個<appender-ref>元素,標識這個appender將會新增到這個loger。

<root>

也是<loger>元素,但是它是根loger。只有一個level屬性,應為已經被命名為"root".

level:

用來設定列印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,不能設定為INHERITED或者同義詞NULL。

預設是DEBUG。

<root>可以包含零個或多個<appender-ref>元素,標識這個appender將會新增到這個loger。

例如:

LogbackDemo.java類

Java程式碼 
  1. package logback;  
  2. import org.slf4j.Logger;  
  3. import org.slf4j.LoggerFactory;  
  4. publicclass LogbackDemo {  
  5.     privatestatic Logger log = LoggerFactory.getLogger(LogbackDemo.class);  
  6.     publicstaticvoid main(String[] args) {  
  7.         log.trace("======trace");  
  8.         log.debug("======debug");  
  9.         log.info("======info");  
  10.         log.warn("======warn");  
  11.         log.error("======error");  
  12.     }  
  13. }  

logback.xml配置檔案

第1種:只配置root

Xml程式碼 
  1. <configuration>
  2.   <appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender">
  3.     <!-- encoder 預設配置為PatternLayoutEncoder -->
  4.     <encoder>
  5.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  6.     </encoder>
  7.   </appender>
  8.   <rootlevel="INFO">
  9.     <appender-refref="STDOUT"/>
  10.   </root>
  11.  </configuration>

 其中appender的配置表示列印到控制檯(稍後詳細講解appender);

<root level="INFO">將root的列印級別設定為“INFO”,指定了名字為“STDOUT”的appender。

當執行logback.LogbackDemo類的main方法時,root將級別為“INFO”及大於“INFO”的日誌資訊交給已經配置好的名為“STDOUT”的appender處理,“STDOUT”appender將資訊列印到控制檯;

列印結果如下:

Xml程式碼 
  1. 13:30:38.484 [main] INFO  logback.LogbackDemo - ======info  
  2. 13:30:38.500 [main] WARN  logback.LogbackDemo - ======warn  
  3. 13:30:38.500 [main] ERROR logback.LogbackDemo - ======error  

  第2種:帶有loger的配置,不指定級別,不指定appender,

Xml程式碼 
  1. <configuration>
  2.   <appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender">
  3.     <!-- encoder 預設配置為PatternLayoutEncoder -->
  4.     <encoder>
  5.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  6.     </encoder>
  7.   </appender>
  8.   <!-- logback為java中的包 -->
  9.   <loggername="logback"/>
  10.   <rootlevel="DEBUG">
  11.     <appender-refref="STDOUT"/>
  12.   </root>
  13.  </configuration>

 其中appender的配置表示列印到控制檯(稍後詳細講解appender);

<logger name="logback" />將控制logback包下的所有類的日誌的列印,但是並沒用設定列印級別,所以繼承他的上級<root>的日誌級別“DEBUG”;

沒有設定addtivity,預設為true,將此loger的列印資訊向上級傳遞;

沒有設定appender,此loger本身不列印任何資訊。

<root level="DEBUG">將root的列印級別設定為“DEBUG”,指定了名字為“STDOUT”的appender。

當執行logback.LogbackDemo類的main方法時,因為LogbackDemo 在包logback中,所以首先執行<logger name="logback" />,將級別為“DEBUG”及大於“DEBUG”的日誌資訊傳遞給root,本身並不列印;

root接到下級傳遞的資訊,交給已經配置好的名為“STDOUT”的appender處理,“STDOUT”appender將資訊列印到控制檯;

列印結果如下:

Xml程式碼 
  1. 13:19:15.406 [main] DEBUG logback.LogbackDemo - ======debug  
  2. 13:19:15.406 [main] INFO  logback.LogbackDemo - ======info  
  3. 13:19:15.406 [main] WARN  logback.LogbackDemo - ======warn  
  4. 13:19:15.406 [main] ERROR logback.LogbackDemo - ======error  

 第3種:帶有多個loger的配置,指定級別,指定appender 

Xml程式碼 
  1. <configuration>
  2.    <appendername="STDOUT"class="ch.qos.logback.core.ConsoleAppender">
  3.     <!-- encoder 預設配置為PatternLayoutEncoder -->
  4.     <encoder>
  5.       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
  6.     </encoder>
  7.   </appender>
  8.   <!-- logback為java中的包 -->
  9.   <loggername="logback"/>
  10.   <!--logback.LogbackDemo:類的全路徑 -->
  11.   <loggername="logback.LogbackDemo"level="INFO"additivity="false">
  12.     <appender-refref="STDOUT"/>
  13.   </logger>
  14.   <rootlevel

    相關推薦

    logback 配置——logger、root---------------https://www.cnblogs.com/cb0327/p/5759441.html

    logback 配置詳解(一)——logger、root 目錄 1、根節點包含的屬性 2、根節點的子節點  2.1、設定上下文名稱:  2.2、設定loger、root   正文 回到頂部 1、根節點<

    logback 配置

    一:根節點<configuration>包含的屬性: scan: 當此屬性設定為true時,配置檔案如果發生改變,將會被重新載入,預設值為true。 scanPeriod: 設定監測配置檔案是否有修改的時間間隔,如果沒有給出時間單位,預設單位是毫秒

    logback 配置——logger、root

    http://www.cnblogs.com/cb0327/p/5759441.html   部落格園 快閃記憶體 首頁 新隨筆 聯絡 管理 訂閱 隨筆- 74  文章- 0  評論- 5  log

    logback 配置 and

    logback 配置詳解(一)<configuration> and <logger> 根節點<configuration>包含的屬性: scan: 當此屬性設定為true時,配置檔案如果發生改變,將會被重新載入,預設值為tr

    logback logback.xml常用配置<configuration> and <logger>

    配置文件 cti 原創文章 分類 lis ali 配置 默認值 原創 摘自:http://aub.iteye.com/blog/1101260logback logback.xml常用配置詳解(一)<configuration> and <logger&

    logback logback.xml常用配置 and

    部落格分類:  Log 詳細整理了logback常用配置, 不是官網手冊的翻譯版,而是使用總結,旨在更快更透徹的理解其配置 logback 中文手冊 (官網手冊的翻譯版,在這裡向中文版譯者-陳華,說聲辛苦啦) logback 配置詳解(

    CentOS 7.4 Tengine安裝配置

    tengine nginx 一、安裝配置Tengine:Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易

    華為PAT埠地址對映配置

    眾所周知,PAT,,Port Address Translation,即網路地址轉換。 PAT有以下作用:1.改變資料包的ip地址和埠號;2.能夠大量節約公網IP地址。PAT的型別有以下:1.動態PAT,包括NAPT和Easy IP;2.靜態PAT,包括NAT Server。 本文為大家介紹華為路由器

    華為PAT端口地址映射配置

    type 一個 多個 轉換 .com pin EDA ip地址 server 眾所周知,PAT,,Port Address Translation,即網絡地址轉換。 PAT有以下作用:1.改變數據包的ip地址和端口號;2.能夠大量節約公網IP地址。PAT的類型有以下:1.動

    Linux下MongoDB安裝和配置

    一、MongoDB的安裝 1.下載安裝包 下載方式: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz 解壓縮壓縮包: tar zxvf mongodb-linux-x

    logback 配置——appender

    1、appender   <appender>是<configuration>的子節點,是負責寫日誌的元件。   <appender>有兩個必要屬性name和class。name指定appender名稱,class指定appender的

    Tomcat中Context容器配置

    Context元素代表一個web應用,執行在某個特定的虛擬主機上。如Servlet Specification 2.2或以後版本中描述的那樣,每個web應用基於一個Web Application Archive(WAR)檔案,或者是一個目錄,包含WAR檔案解壓後的內容。有關W

    Servlet中Web.xml的配置

    1 定義頭和根元素部署描述符檔案就像所有XML檔案一樣,必須以一個XML頭開始。這個頭宣告可以使用的XML版本並給出檔案的字元編碼。DOCYTPE宣告必須立即出現在此頭之後。這個宣告告訴伺服器適用的servlet規範的版本(如2.2或2.3)並指定管理此檔案其餘部分內容的語法的DTD(Document Typ

    Nginx配置

    序言 Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點設計開發的。從2004年釋出至今,憑藉開源的力量,已經接近成熟與完善。 Nginx功能豐富,可作為HTTP伺服器,也可作為反向代理伺服器,郵件伺服器。支援FastCGI、SSL、Vir

    Tomcat安裝及配置

    導讀 Tomcat 伺服器是一個免費的開放原始碼的Web 應用伺服器,Tomcat是Apache

    Ansible基礎安裝和配置

    note oom 管理 基礎 get 結合 conn float 模塊化 ansible 是一款輕量級自動化運維工具,由的 Python 語言開發,結合了多種自動化運維工具的特性,實現了批量系統配置,批量程序部署,批量命令執行等功能; ansible 是基於模塊化實現批量

    CentOS 7.5安裝配置Tomcat

    Tomcat是Apache軟體基金會Jakarta專案中的一個核心專案,主要實現了Java EE中的Servlet、JSP規範,同時也提供HTTP服務,是主流的、免費開源的Java Web輕量級應用伺服器。 一、安裝Tomcat: 1、  安裝JDK(下載地址https://www.orac

    【SpringBoot學習之路】05.Springboot配置檔案

    轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】05.Springboot配置檔案詳解(一)  配置檔案 Spring Boot使用一個全域性的配置檔案 applic

    logback 常用配置

    logback 常用配置詳解(三) <filter> <filter>: 過濾器,執行一個過濾器會有返回個列舉值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日誌將立即被拋棄不再經過其他過濾器;返回NEUTRAL,有序列

    logback 常用配置

    logback 常用配置詳解(二) <appender> <appender>: <appender>是<configuration>的子節點,是負責寫日誌的元件。 <appender>有兩個必要屬