java kafka日志_微服务日志之Spring Boot Kafka实现日志收集

本文介绍了如何在Java Spring Boot应用中利用Logback和Kafka进行日志收集。通过添加相关依赖和配置logback-spring.xml,设置Kafka的bootstrap.servers等参数,实现日志到Kafka的发送。同时,对错误日志采用了同步策略以确保有效收集。

前言

承接上文( 微服务日志之.NET Core使用NLog通过Kafka实现日志收集 https://www.cnblogs.com/maxzhang1985/p/9522017.html ).NET/Core的实现,我们的目地是为了让微服务环境中dotnet和java的服务都统一的进行日志收集。

Java体系下Spring Boot + Logback很容易就接入了Kafka实现了日志收集。

e72e8ae024e1b0fff475d22b1ea846d2.png

5dd66a1f524b20640fe5ebdfeccd78cc.png

Spring Boot集成

Maven 包管理

ch.qos.logback

logback-core

1.2.3

包依赖引用:

com.github.danielwegener

logback-kafka-appender

0.2.0-RC1

ch.qos.logback

logback-classic

1.2.3

runtime

net.logstash.logback

logstash-logback-encoder

5.0

logback-spring.xml

在Spring Boot项目resources目录下添加logback-spring.xml配置文件,注意:一定要修改 {"appname":"webdemo"},这个值也可以在配置中设置为变量。添加如下配置,STDOUT是在连接失败时,使用的日志输出配置。所以这每个项目要根据自己的情况添加配置。在普通日志输出中使用异步策略提高性能,内容如下:

{"appname":"webdemo"}

true

true

30

true

loges

bootstrap.servers=127.0.0.1:9092

acks=0

linger.ms=1000

block.on.buffer.full=false

注意:一定要修改 {"appname":"webdemo"} , 这个值也可以在配置中设置为变量 。对于第三方框架或库的错误和异常信息如需要写入日志,错误配置如下:

{"appname":"webdemo"}

true

true

30

true

ep_component_log

0

bootstrap.servers=127.0.0.1:9020

acks=0

linger.ms=1000

max.block.ms=0

ERROR

ACCEPT

DENY

在异常日志用使用了同步策略保证,错误日志的有效收集,当然可以根据实际项目情况进行配置。

LOG配置建议:

日志root指定错误即可输出第三方框架异常日志:

建议只输出自己程序里的级别日志配置如下(只供参考):

最后

.NET Core 开源学习群:214741894

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值