logback配置異步日志


<appender name="FILE" class= "ch.qos.logback.core.rolling.RollingFileAppender">  
            <!-- 按天來回滾,如果需要按小時來回滾,則設置為{yyyy-MM-dd_HH} -->  
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
                 <fileNamePattern>/opt/log/test.%d{yyyy-MM-dd}.log</fileNamePattern>  
                 <!-- 如果按天來回滾,則最大保存時間為1天,1天之前的都將被清理掉 -->  
                 <maxHistory>30</maxHistory>  
            <!-- 日志輸出格式 -->  
            <layout class="ch.qos.logback.classic.PatternLayout">  
                 <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n</Pattern>  
            </layout>  
</appender>  
     <!-- 異步輸出 -->  
     <appender name ="ASYNC" class= "ch.qos.logback.classic.AsyncAppender">  
            <!-- 不丟失日志.默認的,如果隊列的80%已滿,則會丟棄TRACT、DEBUG、INFO級別的日志 -->  
            <discardingThreshold >0</discardingThreshold>  
            <!-- 更改默認的隊列的深度,該值會影響性能.默認值為256 -->  
            <queueSize>512</queueSize>  
            <!-- 添加附加的appender,最多只能添加一個 -->  
         <appender-ref ref ="FILE"/>  
     </appender>  
       
     <root level ="info">  
            <appender-ref ref ="ASYNC"/>  
     </root>  

異步配置參數:

屬性名 類型 描述
queueSize int BlockingQueue的最大容量,默認情況下,大小為256。
discardingThreshold int 默認情況下,當BlockingQueue還有20%容量,他將丟棄TRACE、DEBUG和INFO級別的event,只保留WARN和ERROR級別的event。為了保持所有的events,設置該值為0。
includeCallerData boolean 提取調用者數據的代價是相當昂貴的。為了提升性能,默認情況下,當event被加入到queue時,event關聯的調用者數據不會被提取。默認情況下,只有"cheap"的數據,如線程名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM