Logback如何将日志输出到Kafka配置示例

 更新时间:2024年12月17日 14:12:03   作者:DotQin  
logback是一个功能强大的Java日志框架,它是log4j的继任者,提供了丰富的功能和配置选项,本文将介绍Logback将日志输出到Kafka配置示例,感兴趣的朋友一起看看吧

1.maven依赖

<dependency>
      <groupId>com.github.danielwegener</groupId>
      <artifactId>logback-kafka-appender</artifactId>
      <version>0.2.0-RC2</version>
    </dependency>
    <dependency>
      <groupId>net.logstash.logback</groupId>
      <artifactId>logstash-logback-encoder</artifactId>
      <version>6.4</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>

2.logback-spring.xml中增加以下内容

<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="localhost:9092"/>
    <!--以上三行需要和yml对应-->
    <appender name="kafkaAppender" class="com.github.danielwegener.logback.kafka.KafkaAppender">
        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers class="net.logstash.logback.composite.loggingevent.LoggingEventJsonProviders">
                <pattern>
                    <pattern>
                        {
                        "env": "${env}",
                        "service":"${service}",
                        "date":"%d{yyyy-MM-dd HH:mm:ss.SSS}",
                        "level":"%level",
                        "thread": "%thread",
                        "logger": "%logger{36}",
                        "msg":"%msg",
                        "exception":"%exception"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
        <topic>msa-log-${env}</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" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="kafkaAppender"/>
    </appender>
    <root level="INFO">
        <appender-ref ref="ASYNC"/>
    </root>

 3.参考

https://github.com/danielwegener/logback-kafka-appender

https://github.com/danielwegener/logback-kafka-appender/blob/master/src/example/resources/logback.xml

到此这篇关于Logback如何将日志输出到Kafka配置示例的文章就介绍到这了,更多相关Logback日志输出到Kafka内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何在SpringBoot中自定义参数解析器

    详解如何在SpringBoot中自定义参数解析器

    这篇文章主要为大家详细介绍了如何在SpringBoot中实现自定义参数解析器,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-05-05
  • Java 中的静态字段和静态方法 

    Java 中的静态字段和静态方法 

    这篇文章主要介绍了Java中的静态字段和静态方法,文章围绕Java 静态方法展开详细内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • java连接zookeeper的实现示例

    java连接zookeeper的实现示例

    ZooKeeper官方提供了Java API,可以通过Java代码来连接zookeeper服务进行操作,本文就来介绍一下java连接zookeeper的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • redis实现多进程数据同步工具代码分享

    redis实现多进程数据同步工具代码分享

    这篇文章主要介绍了使用redis实现多进程数据同步工具的代码,大家参考使用吧
    2014-01-01
  • SpringBoot+Querydsl 框架实现复杂查询解析

    SpringBoot+Querydsl 框架实现复杂查询解析

    本篇主要将介绍的是利用spring query dsl框架实现的服务端查询解析和实现介绍,对SpringBoot Querydsl 查询操作感兴趣的朋友一起看看吧
    2022-05-05
  • 关于RedisTemplate之opsForValue的使用说明

    关于RedisTemplate之opsForValue的使用说明

    这篇文章主要介绍了关于RedisTemplate之opsForValue的使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • SpringMVC Interceptor拦截器使用教程

    SpringMVC Interceptor拦截器使用教程

    SpringMVC中拦截器(Interceptor)用于对URL请求进行前置/后置过滤,Interceptor与Filter用途相似,但实现方式不同。Interceptor底层就是基于Spring AOP 面向切面编程实现
    2023-01-01
  • 基于binarywang封装的微信工具包生成二维码

    基于binarywang封装的微信工具包生成二维码

    这篇文章主要介绍了基于binarywang封装的微信工具包生成二维码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • mybatis关于Criteria使用的小坑

    mybatis关于Criteria使用的小坑

    这篇文章主要介绍了mybatis关于Criteria使用的小坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 详解Springboot如何通过注解实现接口防刷

    详解Springboot如何通过注解实现接口防刷

    本文主要为大家介绍一种极简洁、灵活通用接口防刷实现方式、通过在需要防刷的方法加上@Prevent 注解即可实现短信防刷,感兴趣的可以了解一下
    2022-09-09

最新评论