logback 非同步日誌配置

2021-08-03 08:18:43 字數 592 閱讀 8735

目前所有的日誌記錄方式採用的都是同步的方式,即直接將日誌寫入檔案。

在多應用的時候,這種效果會導致一定的執行緒執行延遲,所以可以採用非同步的方式處理。

.0.11及以上版本存在

非同步日誌記錄是在原來logback上的擴充套件,並不是替代方式,所以只需要在原來的配置檔案上新增一下配置

這樣你的工程就會使用非同步的方式記錄日誌

可以配置的項為queuesize,discardingthreshold。

queuesize 預設值256,不過該值首次建議設定大一些,後續根據自己業務的特點去調優。 

discardingthreshold:預設情況下,當blockingqueue的容量高於閾值時(80%),會丟棄error一下級別的日誌,如果不希望丟棄日誌(既每次都是全量儲存),那可以設定為0。 如正常日誌可以丟棄,那可以極大的提公升效能,並儲存關鍵的error日誌。

由於需要模擬線上服務處理,因此需要每隔一段時間就暫停一次來模擬服務消耗

測試結果:

同步:6000

非同步:5000

實際線上的服務處理時間導致的暫停時間會遠遠大於模擬時間,因此非同步的優勢應該更大。

logback 日誌非同步配置

5level logger 5line msg n d.log 10 這種同步寫入的方式勢必會影響業務的執行效率。幸運的是,logback 提供了非同步的方式來解決這個問題,logback spring.xml 配置如下 5level logger 5line msg n d.log 10 0 51...

logback非同步日誌

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

Logback日誌配置

logback越來越流行,不過使用過程中覺得還不錯,配置簡單明瞭。不過有幾點需要注意的是 spring boot中使用logback不需要再引入logback的三個jar包,因為在spring boot starter logging已經整合了它。幾種日誌過濾器,需要了解明白,不然不能配置到自己想要...