欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

log4j2異步Logger(詳解)

 更新時(shí)間:2017年10月20日 10:15:46   作者:和大黃  
下面小編就為大家?guī)?lái)一篇log4j2異步Logger(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1 異步Logger的意義

之前的日志框架基本都實(shí)現(xiàn)了AsyncAppender,被證明對(duì)性能的提升作用非常明顯。

在log4j2日志框架中,增加了對(duì)Logger的異步實(shí)現(xiàn)。那么這一步的解耦,意義何在呢?

如圖,按我目前的理解:異步Logger是讓業(yè)務(wù)邏輯把日志信息放入Disruptor隊(duì)列后可以直接返回(無(wú)需等待“掛載的各個(gè)Appender”都取走數(shù)據(jù))

優(yōu)點(diǎn):更高吞吐、調(diào)用log方法更低的延遲。

缺點(diǎn):異常處理麻煩、 可變?nèi)罩鞠栴}、更大的CPU開銷、需要等待“最慢的Appender”消費(fèi)完成。

異步Logger會(huì)使用Disruptor做高吞吐隊(duì)列,異步Appender會(huì)使用ArrayBlockingQueue做隊(duì)列。

異步Logger與異步Appender都可以設(shè)置“隊(duì)列滿了之后的策略”,我個(gè)人建議都設(shè)置為“按日志級(jí)別部分丟棄”。

2 啟用

1,全局啟用異步Logger方案一

JVM啟動(dòng)參數(shù)(boot.ini)加上“-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector”

2,全局啟用異步Logger方案二

classpath中添加文件“l(fā)og4j2.component.properties”,文件增加以下內(nèi)容:

“Log4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector”

3,手工指定部分Logger采用異步方式

log4j2.xml配置文件中使用AsyncRoot/AsyncLogger替代Root/Logger

(上述3種方式任選其一即可,不要同時(shí)采用)

以上這篇log4j2異步Logger(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java中@DateTimeFormat和@JsonFormat注解的使用

    java中@DateTimeFormat和@JsonFormat注解的使用

    本文主要介紹了java中@DateTimeFormat和@JsonFormat注解的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 分析JVM的組成結(jié)構(gòu)

    分析JVM的組成結(jié)構(gòu)

    JVM(虛擬機(jī)):指以軟件的方式模擬具有完整硬件系統(tǒng)功能、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng) ,是物理機(jī)的軟件實(shí)現(xiàn)。JVM和VMware,Virtual Box等虛擬機(jī)一樣,都是運(yùn)行在操作系統(tǒng)之上的計(jì)算機(jī)系統(tǒng)
    2021-06-06
  • 多線程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)

    多線程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)

    下面小編就為大家?guī)?lái)一篇多線程死鎖的產(chǎn)生以及如何避免死鎖方法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Java 函數(shù)編程詳細(xì)介紹

    Java 函數(shù)編程詳細(xì)介紹

    這篇文章主要介紹了Java函數(shù)式編程,lambda表達(dá)式可以被認(rèn)為是一個(gè)匿名函數(shù),可以在函數(shù)接口的上下文中使用。函數(shù)接口是只指定一個(gè)抽象方法的接口,下面來(lái)看文章的詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • mybatis-plus主鍵策略生成失敗的解決

    mybatis-plus主鍵策略生成失敗的解決

    本文主要介紹了mybatis-plus主鍵策略生成失敗的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • SpringBoot利用觀察者模式實(shí)現(xiàn)聯(lián)動(dòng)更新機(jī)制

    SpringBoot利用觀察者模式實(shí)現(xiàn)聯(lián)動(dòng)更新機(jī)制

    觀察者模式(Observer Pattern)是一種軟件設(shè)計(jì)模式,在許多應(yīng)用系統(tǒng)中,我們經(jīng)常需要處理多個(gè)表之間的關(guān)聯(lián)更新問題,本文將通過(guò)一個(gè)具體的案例,介紹如何在Spring Boot項(xiàng)目中利用觀察者模式來(lái)優(yōu)雅地解決這一需求,需要的朋友可以參考下
    2024-07-07
  • 使用Jackson反序列化遇到的問題及解決

    使用Jackson反序列化遇到的問題及解決

    這篇文章主要介紹了使用Jackson反序列化遇到的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java程序常見異常及處理匯總

    Java程序常見異常及處理匯總

    這篇文章主要介紹了java程序常見異常及處理匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • springCloud集成nacos config的過(guò)程

    springCloud集成nacos config的過(guò)程

    本文介紹spring cloud集成nacos config的過(guò)程,通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Spring?Boot如何在加載bean時(shí)優(yōu)先選擇我

    Spring?Boot如何在加載bean時(shí)優(yōu)先選擇我

    這篇文章主要介紹了Spring?Boot如何在加載bean時(shí)優(yōu)先選擇我,在?Spring?Boot?應(yīng)用程序中,我們可以采取三種方式實(shí)現(xiàn)自己的?bean?優(yōu)先加載,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03

最新評(píng)論