最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

log4j2日志異步打印(實例講解)

 更新時間:2017年10月20日 10:29:56   作者:wunan23的日志  
下面小編就為大家?guī)硪黄猯og4j2日志異步打印(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

log4j2支持日志的異步打印,日志異步輸出的好處在于,使用單獨的進程來執(zhí)行日志打印的功能,可以提高日志執(zhí)行效率,減少日志功能對正常業(yè)務的影響。

異步日志在程序的classpath需要加載disruptor-3.0.0.jar或者更高的版本。

Asynchronous Loggers是一個新增特性在Log4j 2 ,可以實現(xiàn)完全異步也可以和同步混合使用,還可以只異步化Appender,以提升系統(tǒng)性能,官方數(shù)據(jù)顯示混合沒有完全異步化效果好。

1,完全異步模式:

這種異步日志方式,不需要修改原來的配置文件,Logger仍然使用<root> and <logger>

只需要在主程序代碼開頭,加一句系統(tǒng)屬性的代碼:

System.setProperty("Log4jContextSelector", "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");

或者設置啟動參數(shù):

DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector

2,異步和非異步混合輸出模式

在配置文件中Logger使用<asyncRoot> 或 <asyncLogger>,而且<asyncRoot> 或 <asyncLogger>可以和<root> 或 <logger>混合使用。

<?xml version="1.0" encoding="UTF-8"?>

<!-- No need to set system property "Log4jContextSelector" to any value
when using <asyncLogger> or <asyncRoot>. -->

<Configuration status="WARN">
<Appenders>
<!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
<RandomAccessFile name="RandomAccessFile" fileName="asyncWithLocation.log"
immediateFlush="false" append="false">
<PatternLayout>
<Pattern>%d %p %class{1.} [%t] %location %m %ex%n</Pattern>
</PatternLayout>
</RandomAccessFile>
</Appenders>
<Loggers>
<!-- pattern layout actually uses location, so we need to include it -->
<AsyncLogger name="com.foo.Bar" level="trace" includeLocation="true">
<AppenderRef ref="RandomAccessFile"/>
</AsyncLogger>
<Root level="info" includeLocation="true">
<AppenderRef ref="RandomAccessFile"/>
</Root>
</Loggers>
</Configuration>

這里需要注意的是,如果使用<asyncRoot> 或 <asyncLogger>,includeLocation="true"是必須要設置才會有類路徑等一些信息打印出來。

3,只異步化Appender

在<Appenders>標簽里增加如下<Async>標簽

<Async name="asyncAppender" includeLocation="true"> 
<AppenderRef ref="RandomAccessFile"/>
</Async>

然后在<Root>或者<Logger>標簽中引用asyncAppender即可,這里includeLocation是增加在<Async>標簽中的。

<Root level="info">
<AppenderRef ref="RandomAccessFile"/>
</Root>

無論是完全異步模式還是混合模式,在Appender標簽中,immediateFlush屬性無論為true或者false,效果都是和設置false是一樣的。

4,性能對比

完全異步 > 混合模式 > 只異步化Appender > 同步

5,疑問

使用混合異步模式進行多線程寫日志測試的時候,偶爾會出現(xiàn)日志沒有寫完的情況。是不是主線程執(zhí)行完了,不會等待寫日志的線程執(zhí)行完,就把進程給停掉了? 在主線程的最后sleep幾秒,就沒有再出現(xiàn)日志寫不完的情況了。

以上這篇log4j2日志異步打印(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue用CryptoJS加密,java用CryptoUtil解密

    vue用CryptoJS加密,java用CryptoUtil解密

    CryptoJS是一個JavaScript庫,提供了一系列密碼學函數(shù)和工具,用于加密、解密、生成摘要等任務,本文vue前端使用CryptoJS加密,java后端使用CryptoUtil解密
    2024-09-09
  • 時間中間鍵的整理

    時間中間鍵的整理

    這篇文章主要介紹了時間中間鍵的整理的相關資料,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Java實現(xiàn)簡單登陸界面

    Java實現(xiàn)簡單登陸界面

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單登陸界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java基礎之反射技術相關知識總結

    Java基礎之反射技術相關知識總結

    今天帶大家復習Java基礎知識,文中對Java反射技術介紹的非常詳細,對正在學習Java的小伙伴們很有幫助,,需要的朋友可以參考下
    2021-05-05
  • Java cookie和session會話技術介紹

    Java cookie和session會話技術介紹

    session的工作原理和cookie非常類似,在cookie中存放一個sessionID,真實的數(shù)據(jù)存放在服務器端,客戶端每次發(fā)送請求的時候帶上sessionID,服務端根據(jù)sessionID進行數(shù)據(jù)的響應
    2023-04-04
  • HttpClient詳細使用示例詳解

    HttpClient詳細使用示例詳解

    這篇文章主要介紹了HttpClient詳細使用示例詳解,本文給大家介紹的非常想詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java 類與對象詳細

    Java 類與對象詳細

    這篇文章主要介紹了Java 類與對象,在Java中,我們把對象的特征稱為屬性,對象的用途稱為方法,具有相同屬性和方法的對象,我們把他們歸為一類,簡稱類。下面文章講詳細介紹什么是Java類與對象,需要的朋友可以參考一下
    2021-10-10
  • Spring Boot 參數(shù)校驗的具體實現(xiàn)方式

    Spring Boot 參數(shù)校驗的具體實現(xiàn)方式

    這篇文章主要介紹了Spring Boot 參數(shù)校驗的具體實現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • java線程封閉之棧封閉和ThreadLocal

    java線程封閉之棧封閉和ThreadLocal

    這篇文章主要介紹了java線程封閉之棧封閉和ThreadLocal,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • java實現(xiàn)給第三方接口推送加密數(shù)據(jù)

    java實現(xiàn)給第三方接口推送加密數(shù)據(jù)

    這篇文章主要介紹了java實現(xiàn)給第三方接口推送加密數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

陕西省| 赫章县| 苗栗县| 西林县| 吉安市| 盘山县| 武陟县| 色达县| 集安市| 许昌市| 莆田市| 乌拉特后旗| 四平市| 桃江县| 天津市| 当阳市| 永福县| 长宁县| 南溪县| 湖北省| 惠州市| 田阳县| 宜黄县| 泗水县| 泰兴市| 榆树市| 乌拉特中旗| 崇仁县| 张掖市| 大厂| 岗巴县| 崇左市| 保定市| 迁西县| 易门县| 长岛县| 新民市| 富民县| 宁德市| 健康| 容城县|