本发明涉及计算机技术领域,尤其涉及一种日志上报方法、装置、终端及计算机可读存储介质。
背景技术:
随着终端的快速发展,APP(Application,应用程序)得到了快速普及。APP通常采用基于原生系统开发语言和基于设定脚本开发语言(例如:脚本语言JavaScript)的混合开发模式进行开发,但现有技术中APP中的原生系统开发语言开发的功能层,及基于设定脚本开发语言开发的功能层,分别向服务器上报日志,由于日志格式的不一致,导致对APP中基于不同脚本开发语言开发的功能层上报的日志不能进行有效的监控和分析。
技术实现要素:
本发明提出了一种日志上报方法、装置、终端及计算机可读存储介质,用以解决现有技术中混合开发模式开发的APP中不同语言开发的功能层上报日志格式不一致的问题。
本发明采用的技术方案是提供一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,所述方法包括:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用原生系统层中预置的日志上报函数对所述日志进行原生系统日志格式的封装,并将封装后的日志通过所述原生系统层上报至所述服务器。
可选的,在所述通过调用原生系统层中预置的日志上报函数对所述日志进行原生系统日志格式的封装之前,所述方法还包括:
通过调用中转层中预置的数据通信脚本,在所述功能层与所述原生系统层之间建立数据通信通道,以使所述功能层通过所述数据通信通道调用所述原生系统层中的所述日志上报函数。
可选的,所述通过调用中间层中预置的数据通信脚本的方式,包括:
通过所述功能层中预置的协议调用函数,调用所述中转层中预置的脚本调用协议;
基于所述脚本调用协议,调用所述中转层中的所述数据通信脚本。
可选的,在所述设定脚本语言为脚本语言Javascript的情况下,所述脚本调用协议为基于JSExport协议开发的调用协议。
可选的,在所述通过调用中转层中预置的数据通信脚本之前,所述方法还包括:
调用所述中转层的对外调用接口,以通过所述对外调用接口调用中转层中预置的数据通信脚本。
本发明还提供一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,所述装置包括:
转换模块,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用原生系统层中预置的日志上报函数对所述日志进行原生系统日志格式的封装,并将封装后的日志通过所述原生系统层上报至所述服务器。
可选的,所述装置还包括:
调用模块,用于在所述通过调用原生系统层中预置的日志上报函数对所述日志进行原生系统日志格式的封装之前,通过调用中转层中预置的数据通信脚本,在所述功能层与所述原生系统层之间建立数据通信通道,以使所述功能层通过所述数据通信通道调用所述原生系统层中的所述日志上报函数。
可选的,所述通过调用中间层中预置的数据通信脚本的方式,包括:
通过所述功能层中预置的协议调用函数,调用所述中转层中预置的脚本调用协议;
基于所述脚本调用协议,调用所述中转层中的所述数据通信脚本。
可选的,在所述设定脚本语言为脚本语言Javascript的情况下,所述脚本调用协议为基于JSExport协议开发的调用协议。
可选的,所述装置还包括:
接口模块,用于调用所述中转层的对外调用接口,以通过所述对外调用接口调用中转层中预置的数据通信脚本。
本发明还提供一种终端,所述终端包括处理器和存储器;
所述处理器用于执行存储器中存储的日志上报程序,以实现上述的日志上报方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的日志上报方法的步骤。
采用上述技术方案,本发明至少具有下列优点:
本发明所述一种日志上报方法、装置、终端及计算机可读存储介质,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
附图说明
图1为本发明第二实施例的日志上报方法流程图;
图2为本发明第三实施例的日志上报方法流程图;
图3为本发明第四实施例的日志上报方法流程图;
图4为本发明第五实施例的日志上报方法流程图;
图5为本发明第七至第九实施例的日志上报装置组成结构示意图;
图6为本发明第十实施例的日志上报装置组成结构示意图;
图7为本发明第十一实施例的终端组成结构示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明实施例提供的日志上报方法,应用于基于混合开发模式所开发的应用程序中,用于实现应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,以解决现有技术中混合开发模式开发的APP中不同语言开发的功能层上报日志格式不一致的问题。
本发明第一实施例,一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,该方法包括以下具体步骤:
步骤S101,当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第一实施例所述的日志上报方法,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第二实施例,一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,如图1所示,该方法包括以下具体步骤:
步骤S201,当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言(例如:脚本语言Javascript)。
可选的,步骤S201,包括:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
步骤S202,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第二实施例所述的日志上报方法,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第三实施例,一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,如图2所示,该方法包括以下具体步骤:
步骤S301,当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,步骤S301,包括:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言(例如:脚本语言Javascript)。
可选的,步骤S301,包括:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
步骤S302,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第三实施例所述的日志上报方法,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第四实施例,一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,如图3所示,该方法包括以下具体步骤:
步骤S401,当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,在设定脚本语言为脚本语言Javascript的情况下,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,步骤S401,包括:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,步骤S401,包括:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
步骤S402,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第四实施例所述的日志上报方法,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第五实施例,一种日志上报方法,应用于基于混合开发模式所开发的应用程序中,如图4所示,该方法包括以下具体步骤:
步骤S501,当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,在通过调用中转层中预置的数据通信脚本之前,步骤S501,还包括:
调用中转层的对外调用接口,以通过对外调用接口调用中转层中预置的数据通信脚本。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,在设定脚本语言为脚本语言Javascript的情况下,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,步骤S501,包括:
当基于脚本语言Javascript的功能层向服务器上报日志时,调用中转层的对外调用接口,以通过对外调用接口调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,步骤S501,包括:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
步骤S502,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第五实施例所述的日志上报方法,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第六实施例,一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,该装置包括以下组成部分:
转换模块200,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第六实施例所述的日志上报装置,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第七实施例,一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,如图5所示,该装置包括以下组成部分:
调用模块100,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言(例如:脚本语言Javascript)。
可选的,调用模块100,具体用于:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
转换模块200,用于通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第七实施例所述的日志上报装置,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第八实施例,一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,如图5所示,该装置包括以下组成部分:
调用模块100,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,调用模块100,具体用于:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
在本实施例中,对设定脚本语言不做具体限定,可以是该应用程序的开发工程师根据应用程序中功能层的开发需要选择的应用程序开发脚本语言(例如:脚本语言Javascript)。
可选的,调用模块100,具体用于:
当基于设定脚本语言开发的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
转换模块200,用于通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第八实施例所述的日志上报装置,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第九实施例,一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,如图5所示,该装置包括以下组成部分:
调用模块100,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,在设定脚本语言为脚本语言Javascript的情况下,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,调用模块100,具体用于:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,调用模块100,具体用于:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
转换模块200,用于通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第九实施例所述的日志上报装置,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第十实施例,一种日志上报装置,应用于设置有基于混合开发模式所开发的应用程序的终端中,如图6所示,该装置包括以下组成部分:
调用模块100,用于当基于设定脚本语言开发的功能层向服务器上报日志时,通过调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数。
可选的,调用模块100,包括:
接口模块101,用于调用中转层的对外调用接口,以通过对外调用接口调用中转层中预置的数据通信脚本。
可选的,通过调用中转层中预置的数据通信脚本的方式,包括但不限于:
通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本。
可选的,在设定脚本语言为脚本语言Javascript的情况下,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,调用模块100,具体用于:
当基于脚本语言Javascript的功能层向服务器上报日志时,调用中转层的对外调用接口,以通过对外调用接口调用中转层中预置的数据通信脚本,在功能层与原生系统层之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
可选的,调用模块100,具体用于:
当基于脚本语言Javascript的功能层向服务器上报日志时,通过功能层中预置的协议调用函数,调用中转层中预置的脚本调用协议;基于脚本调用协议,调用中转层中的数据通信脚本,在功能层的通信组件与原生系统层的通信组件之间建立数据通信通道,以使功能层通过数据通信通道调用原生系统层中的日志上报函数;其中,脚本调用协议为基于JSExport协议开发的调用协议。
通过中转层中预置的数据通信脚本,实现了自动在功能层与原生系统层之间建立数据通信通道,实现了功能层通过数据通信通道对原生系统层中的日志上报函数调用,并实现了通过数据通信通道将功能层的日志传输至原生系统层中。
转换模块200,用于通过调用原生系统层中预置的日志上报函数对日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器。
在本实施例中,原生系统是终端预置的操作系统,可以是安卓(Android)操作系统,可以是苹果公司的操作系统iOS。
通过对功能层生成的日志进行原生系统日志格式的封装,并将封装后的日志通过原生系统层上报至服务器,实现了功能层生成的日志与原生系统层生成的日志格式的统一,并通过原生系统层上传至同一个设定服务器,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第十实施例所述的日志上报装置,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第十一实施例,一种终端,如图7所示,包括以下组成部分:
处理器501和存储器502。在本发明的一些实施例中,处理器501、和存储器502可通过总线或者其它方式连接。
处理器501可以是通用处理器,例如中央处理器(Central Processing Unit,CPU),还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(英文:Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。其中,存储器502用于存储处理器501的可执行指令;
存储器502,用于存储程序代码,并将该程序代码传输给处理器501。存储器502可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器502也可以包括非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器502还可以包括上述种类的存储器的组合。
其中,处理器501用于调用存储器502存储的程序代码管理代码,以执行本发明第一实施例至本发明第五实施例中任一实施例中部分或全部步骤。
本发明第十一实施例所述的终端,实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
本发明第十二实施例,一种计算机可读存储介质。
计算机存储介质可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。
计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现本发明第一实施例至本发明第五实施例中任一实施例中部分或全部步骤。
本发明第十二实施例中所述的计算机可读存储介质,存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,能够实现了应用于基于混合开发模式所开发的应用程序中基于脚本开发语言开发的功能层上报的日志与原生系统层上报日志格式的统一,极大地提高了基于混合开发模式所开发的应用程序中功能层与系统层上报的日志的监控和分析能力。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。