00:00
那一般情况下,我们在开发的过程当中呢,总是想知道我们这个远程连接呀,它到底连接成没成功,连接成功了啊,它的这个结果是什么对吧?连接不成功原因是什么?那么我刚才呢,做的就是这样的一个过程哈,我先把这些都关掉,我呢是在远程调用的时候。啊,就是在这个位置我打印了一个日志对吧,叫log.in for啊然后如果这个日志打印出来了,那就证明我远程调用成功了,对吧?入军日志没打印出来,那可能证明我远程调用失败了,这个时候呢,我们就需要去看一看service维靠里面啊,他都执行了什么,因为他调用的是service靠嘛,看看service call里面报没报错呀什么的,所以当出现这个远程调用的时候呢,我们一般情况下呢,都会看一看被调用端,也就是服务的生产者端啊的日志,看看有没有什么异常,再看一下这个服务的消费者端啊,这个日志有没有什么异常,对吧?好,然后呢,接下来呢,刚才呢,我们其实通过啊,这个result等于true就打印了啊,说明远程的调用式程度了,那其实我们觉得这个啊,其实这个信息啊,远远不够,我们就是希望能够看到更多的信息,比如说我的远程调用,我调用了哪个接口啊,然后我传了什么样的参数,对吧?啊,然后我的返回值是什么。
01:21
整个远程调用的执行时间有多长时间啊,所以我们都希望知道,那这样的话呢,我们就在项目当中一般都会配一个远程调用的日志啊,那这个远程调用的日志怎么配呢。我们呢,首先来看一下啊,这个我们先了解一下它的日志级别,它这个日志级别和我们所之前了解的什么INF for啊,Debug呀,Errorrrow啊,那些级别是不一样的,这个日志级别呢,指的是我要打印哪一些信息啊,就是我们定义不同的日志级别呢,它所打印出来的信息的多少是不一样的,比如说如果你不想显示任何信息的话,那我们说这日志级别就叫那就没有日志啊,如果你只想显示一些基本信息,什么叫基本信息呢?就是仅记录请求的方法是什么,然后请求的URL是什么啊,远程请求的响应状态是200呀还是什么,对吧,还是500,还是定四以及执行时间啊,这是basic,那heads呢啊,它比这个basic呢,要记录的内容多了一些,除了basic中定义的信息之外呢,还有请求和响应头的信息啊,好,然后for呢,那很显然,顾名思义就是所有的信息,对吧,除了heads中定义的。
02:34
信息之外呢,还有请求和响应的正文以及原数据信息,所以呢,一般情况下哈,如果能够做充分的这个日志输出的话,我们都会打印这个附哈,好,那这个是日志级别,那所以这日志级别在哪配呢?是在一个配置文件当中配,是在一个Java配置文件当中配,好我们把这个配置文件加上就好了,这个是专门open份的一个日志级别的一个配置,叫做log.level啊,然后呢,我们呢,把它配的所space下面所有的其他的微服务呢,也都能用上,所以我们在service base下面呢,添加一个open phone。
03:12
在我们的service base下面。然后呢,右键啊,新建一个Java class叫做open phone,那这个配置也是一样的,它就是固定的一个配置方案,我们把它粘回来就可以了啊,然后呢,这里面就return什么呀,log.level点负,所以这个地方我们指定的是级别啊,那指定的是哪个级别呢?就刚才我说的这个级别,所有的原数据信息,包括啊请求的方法,URL响应状态,执行时间,请求响应头等等啊,还有响应正文全都会被给。被这个全都会被打印出来,好,那这块呢,就是我们的一个日志并的一个配置,好这个日志并配完了之后,我们还要开启日志,怎么开启呢。
04:02
那我们专门呢是针对这个来开启,为什么呢?因为如果你想打印出这个日志来的话,那我们捞back的日志呢,必须得定义到debug级别啊,所以呢,我们在这个地方呢,用debug级别来打印。在我们的这个控制台,在我们的这个啊配软件当中啊,我们找一下。SMS吧,然后这个配文件好,然后呢,我们配一下日志级别,Log level啊,哪个地方的日志级别呢?就这个靠user in for client里面的这个,这个代码的日志级别呢,我想给它定义成第八个好,然后呢,那我们还需要改一个地方,就low back spring这个里面的日志级别。这款因为我现在是开发环境,你给他改成B。
05:01
好,这样的话呢,我们重新的启动一下我们的服务。呀,启动完了这么快啊,然后接下来呢,我们看一下啊,这边我们发起一个远程调用。先在这个控制台上呢,清一下他的日志,这个日志清一下,然后接下来呢,我在这个地方呢,点获取验证码。好,手机号已被注册哈,嗯,那我们来看一看远程调用吧。大家看,从这块开始,就是call user in for client里面的check mobile这个方法的一个远程调用了,然后这块呢,就是刚才通过咱们配置日志啊,它能够打印出来的一个内容,那这边呢,说的就是啊,远程调用,远程调用的方法是get方法啊,然后使用的啊远程调用的地址是这个地址是吧,然后HTTP1.1啊,然后接下来呢,啊,这面呢,就是啊,请求体当中没有内容啊,因为我们是一个get的方式嘛,就没有请求体的,所以请求体当中是零个字节,然后接下来呢,响应啊,用了998毫秒的时间呢,我们就响应了这个结果,那这个结果呢,它的响应的这个码呢是200啊,所以这个是请求,这是请求,这是响应,对吧?然后接下来呢,Connection connection呢是keep alive,什么叫keep alive,因为整个的这个HTTP呀,它是一个。
06:52
无状态的协议,所以呢,我们的这个客户端啊,我们的客户端这个里面就指的是SMS了啊,SMS呢,向这个靠发送一个TCP请求的时候呢,我们每一次服务器端响应完,就这个地方就是给你啊发送这个是这个是请求是吧,请求结束,然后这是响应哈,响应完毕之后,正常情况下他们的响应就是这个连接啊,这个SMS和靠之间的这个HTTP连接啊,就这个HTP连接就会断开了啊断开了之后呢,那下一次我再发送请求的时候,它还要重新建立连接,然后到这面响应完毕,它又断开,再发送请求,又重新键点连接,然后又断开,这样的话呢,就特别影响性能,影响服务器连接的性能,所以呢,一般情况下呢,我们的HTTP呢,都会有一个keep life这样的一个模式,这个模式呢,就告诉外部服务器,告诉这个service,考你在我那个请求完了之后吧,就到。
07:52
这块你给我响应完了之后,你先别把连接断开,你干嘛呢?你先你先保持这个TCP连接的状态,说不定我一会儿还要连你,明白吧,万一一会儿我我还要连你,那你都关上了,我不还得重连吗?就相当于打电话似的,我一会儿还有话要说,所以咱俩先别挂啊,一会儿我我再说啊,那个你要挂了,我还得重新你拨号,就是这个意思啊,所以呢,就先别断开啊,就叫keep life,然后呢,所以整个咱们这个远程连接的这样的一个形式呢,也是这样的一个keep life的形式啊,这样的话呢,它啊就是open分的底层,它在建立远程连接的时候呢,它的效率会更高一些,是这样的,然后这块呢,就是content Type Content type呢就是我的响应的数据类型啊,是一个Jason格式的一个数据类型,然后接下来呢,这个就是我这个请求远程请求的时间啊,然后这块呢,就是keep life默认的一个这个连接的保留时间就是一分钟之内。如果你。
08:52
来连我,那我这个连接是不断掉的,但是一分钟之后你再连我,那我这个链接就要断掉了啊,就是这个意思,然后接下来呢,这个就是我们发送HTP请求,就数据啊,是一块一块发的,不是一大堆一大堆发的啊,就串个块块形式,然后呢,这块其实就是我们不是有一个那个。
09:13
Access control request access control request method,还有orange这个是干嘛的呢?这个就是我们啊,我们这个呃,服务的。这面啊,看一下。我们这边不是有一个叫做orange嘛啊,就是配了这个orange之后呢,我们这边的这个日志呢,就有了这样的一些信息,说明它是可以被远程跨域访问的,所以我们这个项目里面的这个接口下面的内容都是可以通过啊另另一台前端服务器对吧?来访问要跨域嘛,啊,所以这是跨域的一个,呃,相当于头信息啊,请求头信息,然后接下来呢啊这面啊就是。
10:00
我们的一些就是一些什么日志输出了,你看这块就是是调用的远程的方法对吧,然后这块就是调用的远程的结果啊,结果就是true了,所以那我们就不用自己打印这个结果了,对不对,然后到这为止,我们整个的这个响应就结束了,应的一共是四个at,就响应就这点内容嘛,所以一共是四个BA对吧?啊所以这是整个的一个响应,我们的一个响应结果哈,好,然后呢,这样的话呢,我们整个这个日志就输出了,所以啊,借助于这个日志吧,我们可以就清晰的知道我们的远程请求啊是不是成功的,然后过程是什么样的啊,并且呢,远程请求的方式是什么,地址是什么,对吧,如果有参数的话,它还有参数是什么,然后呢,还有这个啊,数据类型是什么啊,然后响应的内容是什么啊,响应的大小是什么,然后还有整个请求它执行的时间是什么,都会在这个日志当中给咱们明确的打印出来,所以这块呢,就是我们所说的。
11:01
日志啊日志,那到这为止呢,我们的open这样的一个例子呢,就给大家说完了。
我来说两句