当前位置: 代码网 > it编程>编程语言>Java > Logback如何将日志输出到Kafka配置示例

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

2024年12月18日 Java 我要评论
1.maven依赖<dependency> <groupid>com.github.danielwegener</groupid> <ar

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com