logback高階特性使用 非同步記錄日誌

2022-07-14 14:33:16 字數 806 閱讀 1533

注意:該功能需要高版本才能支援,如1.0.11。

當logging

屬性名型別描述

queuesize

intblockingqueue的最大容量,預設情況下,大小為256。

discardingthreshold

int預設情況下,當blockingqueue還有20%容量,他將丟棄trace、debug和info級別的event,只保留warn和error級別的event。為了保持所有的events,設定該值為0。

includecallerdata

boolean

提取呼叫者資料的代價是相當昂貴的。為了提公升效能,預設情況下,當event被加入到queue時,event關聯的呼叫者資料不會被提取。預設情況下,只有"cheap"的資料,如執行緒名。

預設情況下,event queue配置最大容量為256個events。如果佇列被填滿,應用程式執行緒被阻止記錄新的events,直到工作執行緒有機會來**乙個或多個events。因此佇列深度需要根據業務場景進行相應的測試,做出相應的更改,以達到較好的效能。

下面給出乙個使用的配置示例:

/opt/

log/test.%d.log

filenamepattern>

30maxhistory>

%d [

%thread

]%-5level

%logger -%msg%npattern>

layout>

0discardingthreshold>

512queuesize>

="trace">

root>

logback高階特性使用

非同步記錄日誌 注意 該功能需要高版本才能支援,如1.0.11。屬性名型別 描述queuesize intblockingqueue的最大容量,預設情況下,大小為256。discardingthreshold int預設情況下,當blockingqueue還有20 容量,他將丟棄trace debu...

logback高階特性使用 一

logback支援類似於佔位符的變數替換功能,即如果輸出的msg裡面帶有 符號且括號中間不帶其他字元,那麼logback在構造loggingevent的時候,會用messageformat類來格式化msg,將 替換成具體的引數值。示例如下 logger.info it s ok.hi 則輸出結果如下...

logback非同步日誌

一 為什麼使用非同步日誌why 為提高程式效能,盡量預設都使用非同步日誌,如果不使用,可能日誌在打包的時候,會占用大量磁碟io和cpu,導致程式效能下降 二 依賴 dependency groupid org.slf4j groupid artifactid slf4j api artifactid...