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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 强烈推荐IDEA提高开发效率的必备插件

    强烈推荐IDEA提高开发效率的必备插件

    这篇文章主要介绍了强烈推荐IDEA提高开发效率的必备插件,文中有非常详细的图文示例,对想要提高企业开发效率的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • java打印指定年月份的日历

    java打印指定年月份的日历

    这篇文章主要为大家详细介绍了java打印指定年、指定月份的日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • k8s解决java服务下载超时问题小结

    k8s解决java服务下载超时问题小结

    我们在走ingress的java程序的时候,往往会有导出数据的功能,这个时候就会有因网络慢、后台处理时间过长导致下载超时,也有因下载文件太大,导致下载失败,下面给分享k8s解决java服务下载超时问题,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • mybatis resultMap之collection聚集两种实现方式

    mybatis resultMap之collection聚集两种实现方式

    本文主要介绍了mybatis resultMap之collection聚集两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • Java判断范围型的数据是否存在重叠的方法

    Java判断范围型的数据是否存在重叠的方法

    遇到了个问题,同一天可以输入多个时间段,但是每个时间段的时间不能出现重叠,这不就是判断数据返回是否有重叠的变种吗,所以本文给大家介绍了Java判断范围型的数据是否存在重叠的方法,需要的朋友可以参考下
    2024-07-07
  • 关于springmvc-servlet中的配置小知识详解

    关于springmvc-servlet中的配置小知识详解

    这篇文章主要介绍了关于springmvc-servlet中的配置小知识详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    这篇文章主要介绍了解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringBoot的自动配置原理解析

    SpringBoot的自动配置原理解析

    这篇文章主要介绍了SpringBoot的自动配置原理解析,SpringBoot的自动配置要从它的启动类@SpringBootApplication说起,点进注解,@Target设置当前注解可以标记在哪,(ElementType.type)表示标注在类上面,需要的朋友可以参考下
    2023-08-08
  • Java读写.properties文件解决中文乱码问题

    Java读写.properties文件解决中文乱码问题

    这篇文章主要介绍了Java读写.properties文件解决中文乱码问题,非常具有实用价值,需要的朋友可以参考下
    2017-11-11
  • Java爬虫框架之WebMagic实战

    Java爬虫框架之WebMagic实战

    这篇文章主要介绍了Java爬虫框架之WebMagic实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论