前言
承接上文( 微服务日志之.NET Core使用NLog通过Kafka实现日志收集 https://www.cnblogs.com/maxzhang1985/p/9522017.html ).NET/Core的实现,我们的目地是为了让微服务环境中dotnet和java的服务都统一的进行日志收集。
Java体系下Spring Boot + Logback很容易就接入了Kafka实现了日志收集。
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