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

  • Post author:
  • Post category:java


前言

承接上文( 微服务日志之.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



版权声明:本文为weixin_29115107原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。