dubbo配置日志输出,错误排查

2022-06-20 12:48:34

使用dubbo的时候,默认输出的系统级别的日志,这些系统日志根本不会描述出来开发者真正的错误

为了方便开发者调试错误,我们必须重新配置一下日志输出,让开发者的错误暴漏出来,从而方便调试程序。

首先来看一下,默认的日志输出效果

这个系统日志里边给出来两个关键信息,一个是尝试了三次的关键信息,第二个是BrandService。

通常,遇到尝试三次这个错误,那么就是服务提供者内部出错了,所以系统给出来了BrandService这个关键信息,告诉开发者,是服务提供者出错了,但是具体是什么原因,并没有给暴漏出来,这是因为,默认的系统日志不会把开发者的错误暴漏出来(刚刚我们已经说过了)。

至于IDEA的控制台,大家也不用去看了,首先服务提供者的控制台就没有任何错误信息,其次消费者的控制台虽然有报错信息,但并不是我们要的错误日志。所以,无论是服务提供者还是消费者,都没有暴漏出来开发者的错误日志,这个时候,调试程序只能靠猜测。。。

而当我们重新配置日志输出的时候,就会把开发者的错误给暴漏出来,错误的描述将非常的精确,这样开发者调试错误的时候就会非常的方便,准确,快速。

配置日志输出,非常简单,只需要把log4j.properties文件放到服务提供者所在项目模块资源目录的跟目录即可,见下图

重新配置日志输出以后,会有两个变化

1.项目启动的日志明显增多,大家自己看看服务提供者的控制台就能看到了,当然,这个并不是最主要的变化。

2.开发者的错误信息精确的打印到了服务提供者的控制台,见下图。本次演示错误是故意将数据库链接的密码写错了,图中正是这样一条错误日志。

3.mybatis的日志也能够打印到控制台了

至于浏览器上面的错误信息,没有发生任何变化,所以,大家应该在服务提供者的控制台来查看错误信息。

好了,是时候把log4j.properties文件给大家了,快去配置一下吧。

log4j.properties文件下载地址 :https://download.csdn.net/download/fishgeneral/13097329

题外话 : 当我们重新配置了日志输出的时候,服务提供者在启动的时候,会有大量日志,我们刚刚已经说过了,来,看图回忆一下。

在这些启动日志中,会有这样一条系统级别的错误日志

Qos=Quality of Service,qos是Dubbo的在线运维命令,可以对服务进行动态的配置、控制及查询。

这条系统错误日志,并不会影响我们的项目运行,但我们还是希望在启动的时候消除这样的一条错误日志,怎么办呢?

我们只需要在服务提供者,Spring的配置文件中,找到配置dubbo的地方,将配置dubbo的地方指定关闭qos即可,如下图。

  • 作者:会飞的王小卡
  • 原文链接:https://blog.csdn.net/fishgeneral/article/details/109562857
    更新时间:2022-06-20 12:48:34