我将带有Zipkin的Spring Cloud Sleuth添加到现有代码中以收集跟踪信息并最终记录任意消息。常规请求跨度正确发送到Zipkin:
2018-05-25 15:25:19.254 INFO [myapp,4c01686771321248,9c4b58c457df1acc,true] 1 --- [nio-7200-exec-6] c.f.l.service.SiteService : SiteService: getData
但是,我还希望向Zipkin发送日志消息(作为新跨度或现有跨度的注释)。如果我使用org.slf4j.Logger
只是LOG.info("something")
,我会在控制台输出中看到INFO
消息,exportable
标志设置为true:
2018-05-25 15:25:19.274 INFO [myapp,4c01686771321248,9c4b58c457df1acc,true] 1 --- [nio-7200-exec-6] c.f.l.service.SiteService : something
检查Zipkin中的迹线,正确找到了跨度,但LOG.info()
行中使用的消息无处可见 - 这表明我在这里做错了,或者可能它不应该以这种方式工作。我的抽样百分比设定为100%。
使用slf4j接口会很方便,因为现有的代码已经通过这种方式进行了检测。可能吗?如果是这样,那么实施它的好方法是什么?
答案 0 :(得分:1)
但是,我还希望向Zipkin发送日志消息(作为新跨度或现有跨度的注释)。如果我使用org.slf4j.Logger来简单地LOG.info("某些"),我在控制台输出中看到INFO消息,exportable标志设置为true:
您无法向Zipkin发送日志。您可以将日志语句发送给ELK。您可以查看具有ELK的流浪盒的样本https://github.com/marcingrzejszczak/vagrant-elk-box,使用Sleuth进行日志关联并使用ELK可视化日志