1 異步Logger的意義
成都創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、治多網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為治多等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。之前的日志框架基本都實(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)罩鞠?wèn)題、更大的CPU開(kāi)銷(xiāo)、需要等待“最慢的Appender”消費(fèi)完成。
異步Logger會(huì)使用Disruptor做高吞吐隊(duì)列,異步Appender會(huì)使用ArrayBlockingQueue做隊(duì)列。
異步Logger與異步Appender都可以設(shè)置“隊(duì)列滿(mǎn)了之后的策略”,我個(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è)參考,也希望大家多多支持創(chuàng)新互聯(lián)。
本文名稱(chēng):log4j2異步Logger(詳解)-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://muchs.cn/article12/dodsdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、域名注冊(cè)、軟件開(kāi)發(fā)、App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容