一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

日志获取方法、装置及设备与流程

2021-12-07 20:42:00 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种日志获取方法、装置及设备。


背景技术:

2.日志记录是程序调试和问题定位常用的方法。在进行接口调试过程中,尤其是在接口出现报错时,获取接口的相关日志,对于程序调试和问题定位是至关重要的。
3.现有技术中,在进行接口调试过程中,若接口出现报错,则通常需要客户端开发人员通过adb手动获取相关日志,并将日志输出到工作台,再复制粘贴发给网关或者后台的开发人员进行接口确认;网关或者后台的开发人员开发完成后,客户端开发人员还需要重新确认,从而获取到相关日志。
4.由于每一次接口出现报错,都需要重复执行上面的操作,才能获取到相关日志;尤其是在网管或者后台的开发人员频繁需要获取日志时,客户端开发人员需要不断通过adb手动获取相关日志,其任务量较大,且会导致日志的获取效率较低。


技术实现要素:

5.本技术实施例提供了一种日志获取方法、装置及设备,在进行接口调试过程中,提高了接口相关日志的获取效率。
6.第一方面,本技术实施例提供了一种日志获取方法,该日志获取方法可以包括:
7.在客户端发送接口请求后,拦截所述接口请求,并记录所述接口对应的日志。
8.判断所述客户端的日志弹窗功能是否打开。
9.在确定所述日志弹窗功能打开时,通过所述日志弹窗显示所述接口对应的日志。
10.在一种可能的实现方式中,所述判断所述客户端的日志弹窗功能是否打开之前,所述方法还可以包括:
11.判断所述接口请求是否失败。
12.若确定所述接口请求失败,则上报所述接口对应的日志。
13.在一种可能的实现方式中,所述接口请求为测试环境下的接口请求,所述方法还可以包括:
14.判断环境切换功能是否打开。
15.在所述环境切换功能打开时,确定所述测试环境;其中,所述测试环境包括线上环境、灰度环境和预发环境中的任意一种。
16.在一种可能的实现方式中,所述确定所述测试环境,可以包括:
17.判断是否检测到切换线上环境的第一操作。
18.若未检测到所述第一操作,则确定所述预发环境为所述测试环境。
19.若检测到所述第一操作,则判断是否检测到切换灰度环境的第二操作。
20.根据所述检测结果,确定所述测试环境。
21.在一种可能的实现方式中,所述根据所述检测结果,确定所述测试环境,可以包
括:
22.若未检测到所述第二操作,则确定所述线上环境为所述测试环境。
23.若检测到所述第二操作,则确定所述灰度环境为所述测试环境。
24.在一种可能的实现方式中,所述通过所述日志弹窗显示所述接口对应的日志,可以包括:
25.判断显示正确日志的功能是否打开。
26.若确定所述正确日志的功能打开,则通过所述日志弹窗显示所述接口对应的日志;其中,所述日志包括正确的日志和错误的日志。
27.若确定所述正确日志的功能未打开,则通过所述日志弹窗显示所述接口对应的错误日志。
28.第二方面,本技术实施例还提供了一种日志获取装置,该日志获取装置可以包括:
29.处理模块,用于在客户端发送接口请求后,拦截所述接口请求,并记录所述接口对应的日志。
30.所述处理模块,还用于判断所述客户端的日志弹窗功能是否打开。
31.显示模块,还用于在确定所述日志弹窗功能打开时,通过所述日志弹窗显示所述接口对应的日志。
32.在一种可能的实现方式中,所述装置还包括发送模块。
33.所述处理模块,还用于判断所述接口请求是否失败。
34.所述发送模块,用于若确定所述接口请求失败,则上报所述接口对应的日志。
35.在一种可能的实现方式中,所述接口请求为测试环境下的接口请求。
36.所述处理模块,还用于判断环境切换功能是否打开;并在所述环境切换功能打开时,确定所述测试环境;其中,所述测试环境包括线上环境、灰度环境和预发环境中的任意一种。
37.在一种可能的实现方式中,所述处理模块,具体用于判断是否检测到切换线上环境的第一操作;若未检测到所述第一操作,则确定所述预发环境为所述测试环境;若检测到所述第一操作,则判断是否检测到切换灰度环境的第二操作;根据所述检测结果,确定所述测试环境。
38.在一种可能的实现方式中,所述处理模块,具体用于若未检测到所述第二操作,则确定所述线上环境为所述测试环境;若检测到所述第二操作,则确定所述灰度环境为所述测试环境。
39.在一种可能的实现方式中,所述处理模块,还用于判断显示正确日志的功能是否打开。
40.所述显示模块,具体用于若确定所述正确日志的功能打开,则通过所述日志弹窗显示所述接口对应的日志;其中,所述日志包括正确的日志和错误的日志;若确定所述正确日志的功能未打开,则通过所述日志弹窗显示所述接口对应的错误日志。
41.第三方面,本技术实施例还提供了一种电子设备,该电子设备可以包括存储器和处理器;其中,
42.所述存储器,用于存储计算机程序。
43.所述处理器,用于读取所述存储器存储的计算机程序,并根据所述存储器中的计
算机程序执行上述第一方面任一种可能的实现方式中所述的日志获取方法。
44.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述第一方面任一种可能的实现方式中所述的日志获取方法。
45.本技术实施例提供的日志获取方法、装置及设备,在客户端发送接口请求后,可以通过拦截器拦截该接口请求,并记录接口对应的日志;在获取到接口对应的日志后,判断客户端的日志弹窗功能是否打开;在确定日志弹窗功能打开时,通过日志弹窗显示该接口对应的日志,这样客户端开发人员可以直接通过日志弹窗直接获取到该接口对应的日志,无需像现有技术中那样,客户端开发人员需要通过adb手动操作才能获取相关日志,从而提高了接口相关日志的获取效率。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
47.图1为本技术实施例提供的一种日志获取方法的流程示意图;
48.图2为本技术实施例提供的一种获取日志的示意图;
49.图3为本技术实施例提供的一种设置界面的示意图;
50.图4为本技术实施例提供的一种确定测试环境的示意图;
51.图5为本技术实施例提供的一种日志获取装置的结构示意图;
52.图6为本发明实施例提供的一种电子设备的结构示意图。
53.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
54.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
55.在本技术的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。在本技术的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。
56.本技术实施例提供的日志获取方法可以应用于接口调试的场景中。现有技术中,在进行接口调试过程中,若接口出现报错,则通常需要客户端开发人员通过adb手动获取相关日志,并复制粘贴发给网关或者后台的开发人员进行接口确认。尤其是在网管或者后台的开发人员频繁需要获取日志时,客户端开发人员需要不断通过adb手动获取相关日志,其任务量较大,且会导致日志的获取效率较低。
57.在进行接口调试的过程中,为了避免客户端开发人员需要通过adb手动操作才能
获取相关日志,从而提高提高接口相关日志的获取效率,可以尝试结合网络框架okttp及该框架中的interceptor拦截器,在接口请求加上拦截控制逻辑,拦截器会在接口请求中进行流程的拦截,执行想要的一些逻辑,从而将接口请求的请求参数和请求接口进行统一处理。
58.基于该构思,本技术实施例提供了一种日志获取方法,在客户端发送接口请求后,可以通过拦截器拦截该接口请求,并记录接口对应的日志;在获取到接口对应的日志后,判断客户端的日志弹窗功能是否打开;在确定日志弹窗功能打开时,通过日志弹窗显示该接口对应的日志,这样客户端开发人员可以直接通过日志弹窗直接获取到该接口对应的日志,无需像现有技术中那样,客户端开发人员需要通过adb手动操作才能获取相关日志,从而提高了接口相关日志的获取效率。
59.下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
60.图1为本技术实施例提供的一种日志获取方法的流程示意图,该日志获取方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为日志获取装置,该日志获取装置可以设置在电子设备中。示例的,该电子设备可以为终端。请参见图1所示,该日志获取方法可以包括:
61.s101、在客户端发送接口请求后,拦截接口请求,并记录接口对应的日志。
62.在进行接口调试时,客户端可以先构建接口请求,并发送该接口请求。值得注意的是,在本技术实施例中,为了避免客户端开发人员手动获取相关日志,在发送接口请求之后,可以在接口请求后添加拦截器进行拦截。示例的,请参见图2所示,图2为本技术实施例提供的一种获取日志的示意图,在发送接口请求后,通过设置拦截器对接口请求进行拦截,并判断是否请求成功,判断接口请求是否失败;若接口请求成功,可以记录接口对应的日志,并执行下述s102判断客户端的日志弹窗功能是否打开,若接口请求失败,同样可以记录接口对应的日志,并执行下述s102判断客户端的日志弹窗功能是否打开。
63.需要说明的是,在本技术实施例中,在确定接口请求失败时,还可以调用错误日志上报接口,向网管或者后台服务端上报接口对应的日志,从而提高了定位问题和解决线上问题的效率。
64.s102、判断客户端的日志弹窗功能是否打开。
65.示例的,可以在设置界面上设置日志弹窗功能按钮,方便开发人员和测试人员使用。在初始化的逻辑判断中,若接口所属的应用是第一次安装,只会在debug版本中初始化相关字段和展示该设置界面的入口,发版的线上release版本中不会有该设置界面的入口,也不会保存相关变量,这样可以防止影响线上用户使用。可参见图3所示,图3为本技术实施例提供的一种设置界面的示意图,该设置界面中不仅包括日志弹窗功能按钮,也包括灰度环境切换功能按钮和显示正确日志功能按钮。可以理解的是,本技术实施例只是以设置界面中包括日志弹窗功能按钮,灰度环境切换功能按钮和显示正确日志功能按钮为例进行说明,但并不代表本技术实施例仅局限于此。
66.可以理解的是,对于日志弹窗功能,若日志弹窗功能打开,则说明需要通过日志弹窗向客户端开发人员显示接口相关日志;若日志弹窗功能未打开,则说明无需通过日志弹窗向客户端开发人员显示接口相关日志。对于灰度环境切换功能,若灰度环境切换功能打开,则说明需要通过切换至灰度环境,并在灰度环境下进行接口调试;若灰度环境切换功能
未打开,则说明无需切换至灰度环境,而是直接在线上环境进行接口调试。对于显示正确日志功能,若显示正确日志功能打开,则说明不仅需要向客户端开发人员显示错误的日志信息,也需要向客户端开发人员显示正确的日志信息;若显示正确日志功能未打开,则说明无需向客户端开发人员显示正确的日志信息,只需要向客户端开发人员显示错误的日志信息即可。
67.在进行接口调试之前,客户端开发人员可以先进入到设置界面,通过点击日志弹窗功能按钮,确定是否开启该日志弹窗功能,这样在后续进行接口调试的过程中,日志获取装置需要先判断该日志弹窗功能是否打开;若确定该日志弹窗功能未打开,则不会通过日志弹窗显示接口对应的日志,而是直接显示接口请求数据;若确定该日志弹窗功能打开,则通过日志弹窗显示接口对应的日志,即执行下述s103:
68.s103、在确定日志弹窗功能打开时,通过日志弹窗显示接口对应的日志。
69.在本技术实施例中,由于在日志弹窗的弹出时机做了相关逻辑开发,且通过日志弹窗显示接口对应的日志需要ui线程进行,因此,在拦截器中调用打开日志弹窗的逻辑无法正常打开日志弹窗,在该种情况下,需要把接口请求参数和接口报错信息先保存在内存中,并通过在observer中读取信息以打开日志弹窗,从而通过日志弹窗显示接口对应的日志。
70.需要说明的是,在本技术实施例中,由于预先在设置界面中设置了显示正确日志功能按钮,可结合上述图2所示,因此,在通过日志弹窗显示接口对应的日志之前,可以先判断该显示正确日志的功能是否打开;若确定正确日志的功能打开,则通过日志弹窗不仅需要向客户端开发人员显示错误的日志信息,也需要向客户端开发人员显示正确的日志信息;若确定该显示正确日志的功能未打开,则无需向客户端开发人员显示正确的日志信息,只需要通过日志弹窗向客户端开发人员显示错误的日志信息即可。
71.可以理解的是,在通过日志弹窗显示接口对应的日志时,日志中包括的接口的入参和出参,即日志弹窗主要显示的是接口的入参和出参。若接口报错,则会在显示界面显示一个错误弹框,该错误弹框中设置有复制按钮,客户端开发人员可以将该接口的入参和出参等复制下来,发给相应的网关或者后台开发人员,这样网关或者后台开发人员可以通过入参中的funcationid和uuid快速查找该接口对应的日志定位问题,有效地缩短了接口联调时间和接口测试时间,从而提高了接口联调和接口测试效率。
72.由此可见,本技术实施例提供的日志获取方法,在客户端发送接口请求后,可以通过拦截器拦截该接口请求,并记录接口对应的日志;在获取到接口对应的日志后,判断客户端的日志弹窗功能是否打开;在确定日志弹窗功能打开时,通过日志弹窗显示该接口对应的日志,这样客户端开发人员可以直接通过日志弹窗直接获取到该接口对应的日志,无需像现有技术中那样,客户端开发人员需要通过adb手动操作才能获取相关日志,从而提高了接口相关日志的获取效率。
73.基于上述图1所示的实施例,在对接口进行调试时,需要先部署不同的测试环境,并在不同的测试环境下发送接口请求,以完成对接口的调试。现有技术中,由于同一个android应用程序包(android application package,apk)中无法实现测试环境的切换,因此,在进行测试环境切换时,需要修改gradle配置,并对修改后的gradle配置重新打包才能进行环境切换,会导致客户端开发人员的任务量较大,而且会降低环境切换效率。
74.为了提高环境切换效率,可以在gradle和接口访问之间加入控制层,并通过该控制层实现测试环境的切换,这样可以解决重复gradle配置及重复打包的问题,降低了客户端开发人员的任务量,且提高了环境切换效率。示例的,请参见图4所示,图4为本技术实施例提供的一种确定测试环境的示意图,该测试环境的确定方法可以包括:
75.s401、判断环境切换功能是否打开。
76.在进行接口调试之前,可以先确定环境切换功能是否打开,若环境切换功能未打开,说明无需考虑测试环境的问题,可以直接发送接口请求;相反的,若环境切换功能打开,说明需要考虑测试环境的问题,即执行下述s402-s403。
77.可以理解的是,通常情况下,测试环境包括线上环境、灰度环境和预发环境中的任意一种。
78.s402、在环境切换功能打开时,判断是否检测到切换线上环境的第一操作。
79.s403、若未检测到第一操作,则确定预发环境为测试环境。
80.在该种场景中,若未检测到切换到线上环境的第一操作,则将预发环境确定为测试环境,接口会切换到预发环境对应的预发域名上,即在预发环境下发送接口请求,接口可以访问预发环境对应的数据。
81.在另一种场景中,若检测到切换到线上环境的第一操作,则执行下述s404:
82.s404、若检测到第一操作,则判断是否检测到切换灰度环境的第二操作。
83.s405、若未检测到第二操作,则确定线上环境为测试环境。
84.在该种场景中,若未检测到切换灰度环境的第二操作,则将线上环境确定为测试环境,接口会切换到线上环境对应的预发域名上,即在线上环境下发送接口请求,接口可以访问线上环境对应的数据。
85.在另一种场景中,若检测到切换灰度环境的第二操作,则执行下述s406:
86.s406、若检测到第二操作,则确定灰度环境为测试环境。
87.在该种场景中,若检测到切换灰度环境的第二操作,则将灰度环境确定为测试环境,接口会切换到灰度环境对应的预发域名上,即在灰度环境下发送接口请求,接口可以访问灰度环境对应的数据。
88.在完成测试环境的切换后,保存相关变量到本地,以保证在应用下次启动后按照最后一次配置的测试环境访问接口展示相关数据,并调用相关配置文件中的域名和funcationid切换方法进行测试环境切换。此外,可以重新刷新设置界面,使接口按照切换后的域名和funcationid进行数据拉取,这样页面的刷新后的数据就可以切换为相应测试环境下的数据。
89.由此可见,在本技术实施例中,可以通过在gradle和接口访问之间加入控制层,并通过该控制层实现测试环境的切换,这样可以解决重复gradle配置及重复打包的问题,降低了客户端开发人员的任务量,且提高了环境切换效率。
90.图5为本技术实施例提供的一种日志获取装置50的结构示意图,示例的,请参见图5所示,该日志获取装置50可以包括:
91.处理模块501,用于在客户端发送接口请求后,拦截接口请求,并记录接口对应的日志。
92.处理模块501,还用于判断客户端的日志弹窗功能是否打开。
93.显示模块502,还用于在确定日志弹窗功能打开时,通过日志弹窗显示接口对应的日志。
94.可选的,该日志获取装置50还包括发送模块503。
95.处理模块501,还用于判断接口请求是否失败。
96.发送模块503,用于若确定接口请求失败,则上报接口对应的日志。
97.可选的,接口请求为测试环境下的接口请求。
98.处理模块501,还用于判断环境切换功能是否打开;并在环境切换功能打开时,确定测试环境;其中,测试环境包括线上环境、灰度环境和预发环境中的任意一种。
99.可选的,处理模块501,具体用于判断是否检测到切换线上环境的第一操作;若未检测到第一操作,则确定预发环境为测试环境;若检测到第一操作,则判断是否检测到切换灰度环境的第二操作;根据检测结果,确定测试环境。
100.可选的,处理模块501,具体用于若未检测到第二操作,则确定线上环境为测试环境;若检测到第二操作,则确定灰度环境为测试环境。
101.可选的,处理模块501,还用于判断显示正确日志的功能是否打开。
102.显示模块502,具体用于若确定正确日志的功能打开,则通过日志弹窗显示接口对应的日志;其中,日志包括正确的日志和错误的日志;若确定正确日志的功能未打开,则通过日志弹窗显示接口对应的错误日志。
103.本技术实施例提供的日志获取装置50,可以执行上述任一实施例中的日志获取方法的技术方案,其实现原理以及有益效果与日志获取方法的实现原理及有益效果类似,可参见日志获取方法的实现原理及有益效果,此处不再进行赘述。
104.图6为本发明实施例提供的一种电子设备60的结构示意图,示例的,请参见图6所示,该电子设备60可以包括处理器601和存储器602;其中,
105.所述存储器602,用于存储计算机程序。
106.所述处理器601,用于读取所述存储器602存储的计算机程序,并根据所述存储器602中的计算机程序执行上述任一实施例中的日志获取方法的技术方案。
107.可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。当存储器602是独立于处理器601之外的器件时,电子设备还可以包括:总线,用于连接存储器602和处理器601。
108.可选地,本实施例还包括:通信接口,该通信接口可以通过总线与处理器601连接。处理器601可以控制通信接口来实现上述电子设备的接收和发送的功能。
109.本发明实施例所示的电子设备60,可以执行上述任一实施例中的日志获取方法的技术方案,其实现原理以及有益效果与日志获取方法的实现原理及有益效果类似,可参见日志获取方法的实现原理及有益效果,此处不再进行赘述。
110.本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一实施例中的日志获取方法的技术方案,其实现原理以及有益效果与日志获取方法的实现原理及有益效果类似,可参见日志获取方法的实现原理及有益效果,此处不再进行赘述。
111.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所展示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
112.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元展示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
113.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。
114.应理解的是,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
115.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
116.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
117.上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
118.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献