• 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"的数据,如线程名。
  • 相关阅读:
    MySQL之PXC集群
    MySQL大表查询未走索引异常分析
    Redis场景应用之UA池
    MySQL日志剖析
    Redis场景应用之排行榜
    MySQL B+树索引解析
    Redisson分布式锁剖析
    关键字替代符号C++
    并查集按秩合并
    POJ3048
  • 原文地址:https://www.cnblogs.com/yangzhilong/p/10577613.html
Copyright © 2020-2023  润新知