一种日志输出的方法及系统与流程

文档序号:14266196阅读:259来源:国知局
一种日志输出的方法及系统与流程

本申请涉及日志领域,特别涉及一种日志输出的方法、系统、设备及计算机可读存储介质。



背景技术:

现有技术中,对代码的单步调试只在代码行数较少的时候比较适用,如学校教材上面的程序,但在实际的软件项目中,代码少则几千行,多则数万行,用单步调试的方法显然不恰当,为了跟踪某一变量值的变化,用该方法可能要花费几个小时,这对工作效率产生了严重影响。

为了解决大程序文件代码调试问题,日志模块应运而生。日志模块会根据用户要求在程序的对应位置打印日志,使得用户能够通过对产生的日志进行分析,找到对应的代码问题。因此,日志文件分析成了大型软件项目中代码调试的主要手段。

然而,当前日志模块会将程序中打印的日志输出到日志文件中去,日志格式为纯文本格式,查看日志的方式一般是利用vim文本编辑器打开日志文件进行查看,日志显示为黑底白字(如图1所示),其辨识度较低,在日志较多时查看极为不方便。

因此,如何提升日志的辨识度是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种日志输出的方法、系统、设备及计算机可读存储介质,该方法能够提升日志的辨识度。

为解决上述技术问题,本申请提供一种日志输出的方法,该方法包括:

将生成的日志保存为html文件;

根据显示参数对所述html文件的日志内容的颜色及字号进行修改,得到修改后的html文件;其中,所述显示参数包括文字颜色编号及文字大小编号;

输出所述修改后的html文件。

可选的,所述根据显示参数对日志内容的颜色及字号进行修改,包括:

获取所述日志内容的级别;

根据预设规则为不同级别的日志内容设置对应的显示参数;

根据所述对应的显示参数对所述日志内容的颜色及字号进行修改。

可选的,输出所述修改后的html文件,包括:

通过浏览器输出所述修改后的html文件。

可选的,在输出所述修改后的html文件之前,还包括:

接收到自动化脚本;

运行所述自动化脚本,以完成web服务器的搭建、配置和启动。

本申请还提供一种日志输出的系统,该系统包括:

保存模块,用于将生成的日志保存为html文件;

修改模块,用于根据显示参数对所述html文件的日志内容的颜色及字号进行修改,得到修改后的html文件;其中,所述显示参数包括文字颜色编号及文字大小编号;

输出模块,用于输出所述修改后的html文件。

可选的,所述修改模块包括:

获取子模块,用于获取所述日志内容的级别;

设置子模块,用于根据预设规则为不同级别的日志内容设置对应的显示参数;

修改子模块,用于根据所述对应的显示参数对所述日志内容的颜色及字号进行修改。

可选的,所述输出模块包括:

输出子模块,用于通过浏览器输出所述修改后的html文件。

可选的,所述系统还包括:

接收模块,用于接收到自动化脚本;

运行模块,用于运行所述自动化脚本,以完成web服务器的搭建、配置和启动。

本申请还提供一种日志输出的设备,该设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述日志输出的方法的步骤。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述日志输出的方法的步骤。

本申请所提供的一种日志输出的方法,通过将生成的日志保存为html文件;根据显示参数对该html文件的日志内容的颜色及字号进行修改,得到修改后的html文件;其中,显示参数包括文字颜色编号及文字大小编号;输出修改后的html文件。

现有技术中,日志模块会将程序中打印的日志输出到日志文件中去,日志格式为纯文本格式,查看日志的方式一般是利用vim文本编辑器打开日志文件进行查看,日志显示为黑底白字,其辨识度较低,在日志较多时查看极为不方便;而本申请所提供的技术方案,通过将生成的日志保存为html文件,并根据显示参数对该html文件的日志内容的颜色及字号进行修改,得到修改后的html文件,使得当修改后的html文件输出时,日志内容由原来的黑白颜色变为彩色的,并且字体的大小也可以变化,提高了日志的辨识度,方便查看。同时让日志变得生动形象,提高了用户体验。本申请同时还提供了一种日志输出的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为现有技术中日志的输出样式的截图;

图2为本申请实施例所提供的一种日志输出的方法的流程图;

图3为图2所提供的一种日志输出的方法中s102的一种实际表现方式的流程图;

图4为本申请实施例所提供的另一种日志输出的方法的结构图;

图5为本申请实施例所提供的一种日志输出的系统的结构图;

图6为本申请实施例所提供的另一种日志输出的系统的结构图;

图7为本申请实施例所提供的一种日志输出的设备的结构图。

具体实施方式

本申请的核心是提供一种日志输出的方法、系统、设备及计算机可读存储介质,该方法能够提升日志的辨识度。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图2,图2为本申请实施例所提供的一种日志输出的方法的流程图。

其具体包括如下步骤:

s101:将生成的日志保存为html文件;

现有技术中,为了解决大程序文件代码调试问题,日志模块应运而生。日志模块会根据用户要求在程序的对应位置打印日志,使得用户能够通过对产生的日志进行分析,找到对应的代码问题,因此,日志文件分析成了大型软件项目中代码调试的主要手段;然而,当前日志模块会将程序中打印的日志输出到日志文件中去,日志格式为纯文本格式,查看日志的方式一般是利用vim文本编辑器打开日志文件进行查看,日志显示为黑底白字(如图1所示),其辨识度较低,在日志较多时查看极为不方便;基于此,本申请提供了一种日志输出的方法,利用该方法能够提高日志的辨识度;

本申请对原有日志模块接口进行改造和封装,得到新日志模块接口,新日志模块接口能够在接收到日志模块的调用命令时,将需要打印的日志保存为html文件,以便于用户对日志内容的显示样式进行修改。

s102:根据显示参数对该html文件的日志内容的颜色及字号进行修改,得到修改后的html文件;

当生成的日志保存为html文件时,根据显示参数对日志内容的颜色及字号进行修改,得到修改后的html文件;

可选的,该显示参数可以包括文字颜色编号及文字大小编号;

可选的,这里提到的显示参数可以为用户根据个人喜好自定义设置的参数,例如用户可以将k时刻的日志内容设置为颜色为黄色、字号为6号,将k+1时刻的日志内容设置为颜色为红色、字号为10号;该显示参数也可以为根据预设规则设置的参数,当然,只要能够达到根据显示参数对日志内容的颜色及字号进行修改的目的,本申请实施例对显示参数的来源不作具体限定。

s103:输出修改后的html文件。

可选的,为提高日志文件的实时性,还可以通过浏览器输出该修改后的html文件,使得用户通过刷新浏览器便能够看到最新日志,让查看日志变得更加实时、方便;

可选的,步骤s101中提到的原有日志模块和新日志模块可以共存,新日志模块不会影响原有日志模块的功能,新日志模块输出的html文件会保存到另外的日志文件中。

基于上述技术方案,本申请所提供的一种日志输出的方法,通过将生成的日志保存为html文件,并根据显示参数对该html文件的日志内容的颜色及字号进行修改,得到修改后的html文件,使得当修改后的html文件输出时,日志内容由原来的黑白颜色变为彩色的,并且字体的大小也可以变化,提高了日志的辨识度,方便查看。同时让日志变得生动形象,提高了用户体验。

基于上述实施例中步骤s102所提到的,显示参数的设置方式可以有多种,例如,可以根据用户个人喜好自定义设置该显示参数,也可以根据预设规则设置该显示参数;

下面结合图3,以根据预设规则设置该显示参数为例进行说明,请参考图3,图3为图2所提供的一种日志输出的方法中s102的一种实际表现方式的流程图。

其具体包括以下步骤:

s201:获取日志内容的级别;

log4j为日志定义了五种正常级别(level):

1.staticleveldebug:

debuglevel指出细粒度信息事件对调试应用程序是非常有帮助的;

2.staticlevelinfo:

infolevel表明消息在粗粒度级别上突出强调应用程序的运行过程;

3.staticlevelwarn:

warnlevel表明会出现潜在错误的情形;

4.staticlevelerror:

errorlevel指出虽然发生错误事件,但仍然不影响系统的继续运行;

5.staticlevelfatal:

fatallevel指出每个严重的错误事件,将会导致应用程序的退出;

基于这五种级别,本申请实施例所提供的方法能够获取到当前日志内容的级别。

s202:根据预设规则为不同级别的日志内容设置对应的显示参数;

当根据步骤s201确定了日志内容的级别时,根据预设规则为不同级别的日志内容设置对应的显示参数,例如,当日志级别为debuglevel时,为该日志内容设置颜色为绿色、字号为5号的显示参数;当日志级别为infolevel时,为该日志内容设置颜色为蓝色、字号为7号的显示参数;当日志级别为warnlevel时,为该日志内容设置颜色为黄色、字号为9号的显示参数;当日志级别为errorlevel时,为该日志内容设置颜色为橙色、字号为11号的显示参数;当日志级别为fatallevel时,为该日志内容设置颜色为红色、字号为13号的显示参数;当然,该预设规则仅为本申请实施例提供的一种优选的预设规则,本申请对预设规则的内容并不作具体限定,只要能够达到根据预设规则为不同级别的日志内容设置对应的显示参数的目的即可;

可选的,这里提到的预设规则可以由生产厂家提供,也可以由用户自行下载,还可以是日志模块联网获取预设规则在线为不同级别的日志内容设置对应的显示参数,并不对预设规则的获得方式做具体限定,实际情况中可以根据生产厂家的生产环境来具体制定。

s203:根据对应的显示参数对日志内容的颜色及字号进行修改。

基于上述技术方案,本申请实施例通过获取日志内容的级别,并根据预设规则为不同级别的日志内容设置对应的显示参数,之后再根据对应的显示参数对日志内容的颜色及字号进行修改,使得当修改后的html文件输出时,用户可直接根据日志内容的颜色及字号大小来确定日志级别,使得日志查看变得极为直观方便,进而使得用户能够利用日志快速定位到问题的所在,提高了运维效率。

基于上述实施例,在输出修改后的html文件之前,为方便用户远程使用浏览器查看日志,需要搭建web服务器,基于此,本申请提供了另一种日志输出的方法,能够通过运行自动化脚本完成对web服务器的搭建、配置和启动;

请参考图4,图4为本申请实施例所提供的另一种日志输出的方法的结构图。

其具体包括以下步骤:

s301:将系统生成的日志保存为html文件;

s302:根据显示参数对该html文件日志内容的颜色及字号进行修改,得到修改后的html文件;

s303:接收到自动化脚本;

s304:运行该自动化脚本;

可选的,这里提到的自动化脚本具体可以为预先编写的shell脚本;进一步的,当编写好shell脚本后,只需运行一遍该shell脚本便能够完成对web服务器的搭建、配置和启动,比敲命令搭建web服务器要快很多,同时,该shell脚本可以复用,在新客户端上搭建web服务器时,只需要运行一遍该shell脚本即可;

可选的,这里提到的web服务器具体可以为apachehttpserver;

当客户端运行该自动化脚本时,能够自动完成对配置文件进行设置、设置日志目录为web服务器的资源目录及启动web服务器等工作;

可选的,当搭建好web服务器后,自动化脚本能够编写一个默认首页的html文件,该html文件中存储有待查看的所有日志的链接,使得用户使用浏览器输入该日志节点的ip便可访问默认首页,在默认首页中点击某一个日志的链接便可查看该日志。

s305:输出修改后的html文件。

基于上述实施例,请参考图5,图5为本申请实施例所提供的一种日志输出的系统的结构图。

该系统可以包括:

保存模块100,用于将生成的日志保存为html文件;

修改模块200,用于根据显示参数对日志内容的颜色及字号进行修改,得到修改后的html文件;其中,显示参数包括文字颜色编号及文字大小编号;

输出模块300,用于输出修改后的html文件。

请参考图6,图6为本申请实施例所提供的另一种日志输出的系统的结构图。

该修改模块200可以包括:

获取子模块,用于获取日志内容的级别;

设置子模块,用于根据预设规则为不同级别的日志内容设置对应的显示参数;

修改子模块,用于根据对应的显示参数对日志内容的颜色及字号进行修改。

该输出模块300可以包括:

输出子模块,用于通过浏览器输出修改后的html文件。

该日志输出系统还可以包括:

接收模块,用于接收到自动化脚本;

运行模块,用于运行自动化脚本,以完成web服务器的搭建、配置和启动。

以上系统的各个组成部分可应用于以下的一个实际流程中:

保存模块将生成的日志保存为html文件,获取子模块获取日志内容的级别,设置子模块根据预设规则为不同级别的日志内容设置对应的显示参数,修改子模块根据对应的显示参数对日志内容的颜色及字号进行修改;接收模块接收到自动化脚本,运行模块运行该自动化脚本,以完成web服务器的搭建、配置和启动,输出模块输出修改后的html文件。

基于上述实施例,请参考图7,图7为本申请实施例所提供的一种日志输出设备的结构图。

该设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对系统中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在日志输出设备400上执行存储介质430中的一系列指令操作。

日志输出设备400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图2至图4所描述的日志输出的方法中的步骤由日志输出的设备基于该图7所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用系统,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种日志输出的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1