前言
在之前dubbo分布式框架中讲到了如何利用dubbo来搭建一个微服务项目。其中还有一些值得优化提高开发效率的地方,比如日志:
当我们一个项目拆分为N多个微服务之后,当其中一个调用另一个服务出现了问题,首先第一步自然是查看日志。
出现问题的有很多情况,如提供方自身代码的问题,调用方的姿势不对等。
自身的问题这个管不了,但是我们可以对每一个入参、返回都加上日志,这样首先就可以判断调用方是否姿势不对了。
为了规范日志已经后续的可扩展,我们可以单独提供一个插件给每个项目使用即可。
效果如下:
|
|
dubbo filter拓展
参考官方文档,我们可以通过
DubboTraceFilter具体拦截逻辑
|
|
逻辑非常简单,只是对调用过程、异常、成功之后打印相应的日志而已。
但是有个地方要注意一下:
需要在resource
目录下加上META-INF.dubbo/com.alibaba.dubbo.rpc.Filter
文件。
目录结构如下:
总结
该项目已经托管到GitHub:
https://github.com/crossoverJie/SSM-DUBBO-FILTER
使用方法
安装
|
|
|
|
|
|
使用
在服务提供的项目中加上依赖,这样每次调用都会打上日志。
在拦截器中最好不要加上一些耗时任务,需要考虑到性能问题。
项目地址:https://github.com/crossoverJie/SSM.git
个人博客地址:http://crossoverjie.top。
GitHub地址:https://github.com/crossoverJie。