Logback日誌使用詳解
概述
Logback建立於三個主要類之上:日誌記錄器(Logger),輸出端(Appender)和日誌格式化器(Layout)。這三種元件協同工作,使開發者可以按照訊息型別和級別來記錄訊息,還可以在程式執行期內控制訊息的輸出格式和輸出目的地。
1.日誌記錄器(Logger):控制要輸出哪些日誌記錄語句,對日誌資訊進行級別限制。
2.輸出端(Appender):指定了日誌將列印到控制檯還是檔案中。
3.日誌格式化器(Layout):控制日誌資訊的顯示格式。
日誌記錄器Logger
在logback中只有一個日誌記錄器Logger,繼承自org.slf4j.Logger且是final的。
public final class Logger implements org.slf4j.Logger, LocationAwareLogger,
AppenderAttachable<ILoggingEvent>, Serializable {
}
輸出端Appender
Logback提供了非常豐富的輸出端Appender。
其中,常用的Appender有以下幾個:
ConsoleAppender:列印日誌資訊到控制檯,相當於System.out或者System.err。
FileAppender:列印日誌資訊到檔案中。
RollingFileAppender:根據RollingPolicy和TriggeringPolicy將日誌打到相應的檔案中。
RollingFileAppender有兩個與之互動的重要子元件。第一個是RollingPolicy,負責滾動。第二個是TriggeringPolicy,決定是否以及何時進行滾動。所以,RollingPolicy負責“什麼”, TriggeringPolicy負責“何時”。 要想RollingFileAppender起作用,必須同時設定RollingPolicy和TriggeringPolicy。不過,如果RollingPolicy也實現了TriggeringPolicy介面,那麼只需要設定RollingPolicy。
讓我們來看看這些策略都有哪些吧?
其中,TimeBasedRollingPolicy比較特殊,它同時繼承了RollingPolicy和TriggerPolicy。即配置它一個也可以的。
另外在Appender中還使用了一個元件Encoder。
Encoder負責兩件事,一是把事件轉換為位元組陣列,二是把位元組陣列寫入輸出流。其結構如下:
目前,PatternLayoutEncoder是唯一有用的encoder,它基本上是封裝了PatternLayout,讓PatternLayout負責大多數工作。因此,似乎encoder並沒有帶來多少好東西,反而只有不需要的複雜性。然而,我們希望當新的、強大的encoder到來時,這種印象會改變。
日誌格式化器Layout
其結構如下所示:
使用方法
logback配置
Logback可以通過程式設計式配置,或用XML格式的配置檔案進行配置。
Logback採取下面的步驟進行自我配置:
1. 嘗試在classpath下查詢檔案logback-test.xml;
2. 如果檔案不存在,則查詢檔案logback.xml;
3. 如果兩個檔案都不存在,logback用BasicConfigurator自動對自己進行配置,這會導致記錄輸出到控制檯。
Logback嵌入程式碼使用
引入需要的包:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
生產logger例項:
要列印的類的開始部分:
private final Logger logger = LoggerFactory.getLogger(getClass());
使用logger例項列印日誌
列印形式:
if (logger.isDebugEnabled()) {
logger.debug("To modify role(name={}) to role(name={}).",
updated.getName(), role.getName());
}
相關推薦
springboot2.0日誌配置 logback的使用和logback.xml詳解
只根據上面的我們會發現,日誌要麼輸出到檔案。要麼輸出到控制檯不能有選擇的輸出滿足我們的要求,這是需要看下面這個文章, 這兩篇文章結合,基本滿足我們實際應用的需要。 為了使我們的日誌更加利於觀看,我們可以把日誌做成html格式的, <?xml v
logback的使用和logback.xml詳解,在Spring專案中使用log列印日誌
一、logback的介紹 Logback是由log4j創始人設計的另一個開源日誌元件,官方網站: http://logback.qos.ch。它當前分為下面下個模組: logback-core:其它兩個模組的基礎模組 logback-classic:它是log4j的一個改良版本,同時它完整實現了sl
logback日誌元件應用和logback.xml詳解(springmvc和springboot)
本章將通過logback的配置檔案和4個javabean為例項,來講解和驗證logback的使用方式。 最後分別生成debug、info、error類別,以及4個javabean分別生成一個日誌檔案。
java日誌詳解--logback
前言 關於logback這塊,相關的文章比較多,而本人研究也不是比較深入,因此這篇文章只是本人的配置過程以及其他幾篇深入介紹的文章,當作記錄使用,希望能幫到自己和讀者。 正文 對比log4j的優勢: 更快的實現 Logback的核心重
轉載 logback的使用和logback.xml詳解 http://www.cnblogs.com/warking/p/5710303.html
version tor red java代碼 根節點 ext private 字符串 npe logback的使用和logback.xml詳解 一、logback的介紹 Logback是由log4j創始人設計的另一個開源日誌組件,官方網站: http://logb
日誌詳解
eve 級別 ava 進程 anr radio epo 對比 debug 日誌分類 整機開發項目中,日誌分為如下幾種: 1.bugreport 記錄ANR(application not response)信息,版本信息,設備型號 2.main 應用程序的信息,提交功能性問
轉:logback的使用和logback.xml詳解
靈活 多說 maven path socket win error 輸出日誌 功能 一、logback的介紹 Logback是由log4j創始人設計的另一個開源日誌組件,官方網站: http://logback.qos.ch。它當前分為下面下個模塊: logback-c
logback的使用和logback.xml詳解
ons servle home 切換 內部 實現 負責 ace acc 一、logback的介紹 Logback是由log4j創始人設計的另一個開源日誌組件,官方網站: http://logback.qos.ch。它當前分為下面下個模塊: logback-core:其它
tomcat訪問日誌詳解
tomcat訪問日誌詳解tomcat日誌 tomcat日誌配置在server.xml裏的<host>標簽下加上<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localh
Apache日誌詳解
Apache日誌路徑及作用 Apache日誌的定制 Apache日誌記錄的信息 Apache訪問日誌格式介紹 Apache錯誤日誌格式介紹 Apache日誌詳解1、Apache日誌文件名稱及路徑介紹當我們安裝並啟動Apache後,Apache會自動生成兩個日誌文件,這兩個日誌文件分別是訪問
javagc日誌詳解
under nbsp etime garbage collect 分享圖片 http spa com https://blog.csdn.net/aliveTime https://plumbr.io/blog/garbage-collection/understan
mysql日誌詳解
ror sql log-error dex -i ria 二進制日誌 ble time 日誌分類: 一、錯誤日誌。 1、在配置文件中的配置是:log-error="DESKTOP-igoodful.err",查看參數的鍵值對:show variables like ‘
nginx日誌詳解
速度 發送 date limit 設置 記錄 IV ron 提升 nginx日誌詳解一、nginx日誌介紹Nginx日誌對於統計、系統服務排錯很有用。Nginx日誌主要分為兩種:access_log(訪問日誌)和error_log(錯誤日誌)。通過訪問日誌我們可以得到用戶的
【轉】logback的使用和logback.xml詳解
操作 官方 觀察者 一是 變量定義 world! 是個 歸檔文件 connect from:https://www.cnblogs.com/warking/p/5710303.html 一、logback的介紹 Logback是由log4j創始人設計的另一個開源日誌組件
nginx日誌詳解和日誌切割
日誌管理 我們觀察nginx的server段,可以看到如下類似資訊 #access_log logs/host.access.log main; 這說明 該server, 它的訪問日誌的檔案是 logs/host.access.log ,使用的 格式”main”格式.除
nginx+lua openresty開發系列-(log日誌詳解)
最近搭建流媒體伺服器,其中涉及到一些http服務api的操作, 之前一直使用的是python django框架來處理這些資訊, 這次編譯的是nginx添加了lua模組, 就想著使用lua來完成這些功能, 減少服務的搭建。好久沒有lua開發了,現在突然發現好多東西都記不住了, 所以就藉著這
mysql系列詳解三:mysql中各類日誌詳解-技術流ken
1.前言 日誌檔案記錄了MySQL資料庫的各種型別的活動,MySQL資料庫中常見的日誌檔案有 查詢日誌,慢查詢日誌,錯誤日誌,二進位制日誌,中繼日誌 。下面分別對他們進行介紹。 2.查詢日誌 1.檢視查詢日誌變數 查詢日誌即檢視日誌記錄了所有對 My
logback 配置詳解(一)——logger、root---------------https://www.cnblogs.com/cb0327/p/5759441.html
logback 配置詳解(一)——logger、root 目錄 1、根節點包含的屬性 2、根節點的子節點 2.1、設定上下文名稱: 2.2、設定loger、root 正文 回到頂部 1、根節點<
logback使用與配置檔案logback.xml詳解
一、logback簡介 Logback由log4j創始人設計的另一個開源日誌元件,官網:http://logback.qos.ch。它當前分為下面三模組: logback-core:其它兩個模組的基礎模組 logback-classic:它是log4
Spring Boot 自定義日誌詳解
本節內容基於 Spring Boot 2.0. 你所需具備的基礎 什麼是 Spring Boot? Spring Boot 核心配置檔案詳解 Spring Boot 開啟的 2 種方式 Spring Boot 自動配置原理、實戰 Spring Boot 2.x 啟動全過程原始碼分析