logback

 

<logback-kafka-appender.version>0.2.0-RC2</logback-kafka-appender.version>


<dependency>
                <groupId>com.github.danielwegener</groupId>
                <artifactId>logback-kafka-appender</artifactId>
                <version>${logback-kafka-appender.version}</version>
            </dependency>

 

 

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>

    <property name="ENCODER_PATTERN"
              value="pi|${HOSTNAME}|%d{yyyy-MM-dd HH:mm:ss.SSS}|[%thread]|%-5level|%logger{80}|%L|%X{orgCode}|%X{bizType}|%X{jobId}|%X{lid}|%X{fromUuid}|%X{toUuid}|%X{traceId}|%msg%n"/>

    <springProperty scope="context" name="service" source="spring.application.name" defaultValue="UnknownService"/>
    <springProperty scope="context" name="env" source="elk.env" defaultValue="test"/>
    <springProperty scope="context" name="bootstrapServers" source="elk.kafka.bootstrap.servers" defaultValue="10.12.0.33:9092,10.12.0.32:9092,10.12.0.34:9092"/>


    <springProperty scope="context" name="springAppName" source="spring.application.name"/>
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${ENCODER_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <appender name="rollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${LOG_PATH}/pi.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${LOG_PATH}/pi.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxHistory>30</maxHistory>
            <totalSizeCap>50GB</totalSizeCap>
            <TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <MaxFileSize>100MB</MaxFileSize>
            </TimeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>${ENCODER_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <appender name="ASYNC-rollingFileAppender" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="rollingFileAppender"/>
    </appender>

    <appender name="kafkaAppender" class="com.github.danielwegener.logback.kafka.KafkaAppender">
        <encoder>
            <pattern>${ENCODER_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
        <topic>edgex</topic>
        <keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy"/>
        <deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy"/>
        <producerConfig>acks=0</producerConfig>
        <producerConfig>linger.ms=1000</producerConfig>
        <producerConfig>max.block.ms=0</producerConfig>
        <producerConfig>bootstrap.servers=${bootstrapServers}</producerConfig>
    </appender>

    <appender name="ASYNC-kafkaAppender" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>256</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="kafkaAppender"/>
    </appender>

    <logger name="com.netflix" level="WARN" additivity="false">
        <appender-ref ref="consoleAppender"/>
        <appender-ref ref="ASYNC-rollingFileAppender"/>
        <appender-ref ref="ASYNC-kafkaAppender" />
    </logger>

    <logger name="com.be.pi.interceptor.RequestResponseLoggingInterceptor" level="DEBUG" additivity="false">
        <appender-ref ref="consoleAppender"/>
        <appender-ref ref="ASYNC-rollingFileAppender"/>
        <appender-ref ref="ASYNC-kafkaAppender" />
    </logger>

    <root level="info">
        <appender-ref ref="consoleAppender"/>
        <appender-ref ref="ASYNC-rollingFileAppender"/>
        <appender-ref ref="ASYNC-kafkaAppender" />
    </root>

</configuration>
复制代码

 

posted @   牧之丨  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2018-02-08 Android4.4 ContentResolver查询图片无效 及 图库删除 增加图片后,ContentResolver不更新的问题解决
2018-02-08 android 7.0以上共享文件(解决调用系统照相和图片剪切出现的FileUriExposedException崩溃问题)
2017-02-08 kafka命令
2016-02-08 visual studio 2015提示IE10未安装
2016-02-08 【转】在Windows下搭建React Native Android开发环境
点击右上角即可分享
微信分享提示