CN110308880B - 日志打印方法、***、计算机设备及计算机可读存储介质 - Google Patents
日志打印方法、***、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110308880B CN110308880B CN201910418924.6A CN201910418924A CN110308880B CN 110308880 B CN110308880 B CN 110308880B CN 201910418924 A CN201910418924 A CN 201910418924A CN 110308880 B CN110308880 B CN 110308880B
- Authority
- CN
- China
- Prior art keywords
- log
- printing
- log printing
- configuration file
- calling system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1273—Print job history, e.g. logging, accounting, tracking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及计算机技术领域,具体涉及一种日志打印方法,包括:响应于调用***触发的日志打印信号,获取日志打印配置文件;判断日志打印配置文件中是否规定了日志打印方式;以及若判断出日志打印配置文件中规定了日志打印方式,则确定日志打印方式对应的预设接口,通过预设接口从调用***中读取日志打印要求,并根据日志打印要求打印待打印日志。本公开还提供了一种日志打印***、一种计算机设备和一种计算机可读存储介质。
Description
技术领域
本发明涉及计算机技术领域,具体涉及日志打印方法、***、计算机设备及计算机可读存储介质。
背景技术
目前,***是通过调用第三方的日志jar包来实现日志打印功能的。现有技术中存在这样一种情况,若调用方***需要使用被调用方***的jar包来实现日志打印功能,此时由于调用方***本身已经调用了第三方的日志jar包例如logback来实现一部分日志打印功能,且被调用方***中的能够实现日志打印功能的jar包也是通过调用第三方的日志jar包例如log4j来实现日志打印功能的,这样在调用方***调用被调用方***中能够实现日志打印功能的jar包时,调用方就必须额外引入被调用方***调用的log4j,从而导致调用方***已经调用的logback和被调用方***调用的log4j之间产生冲突。
针对上述缺陷尚未存在相应的解决方案。
发明内容
本公开的目的是提供一种日志打印方法、***、计算机设备及计算机可读存储介质,以至少解决现有技术中***间jar包调用对调用方原本调用的日志jar包产生冲突的缺陷。
本公开的一个方面提供了一种日志打印方法,包括:响应于调用***触发的日志打印信号,获取日志打印配置文件;判断上述日志打印配置文件中是否规定了日志打印方式;以及若判断出上述日志打印配置文件中规定了上述日志打印方式,则确定上述日志打印方式对应的预设接口,通过上述预设接口从上述调用***中读取日志打印要求,并根据上述日志打印要求打印待打印日志。
根据本公开的实施例,上述日志打印要求包括日志打印级别、日志打印目的地和日志打印格式,上述根据上述日志打印要求打印待打印日志,包括:确定满足上述日志打印级别的上述待打印日志;以及将满足上述日志打印级别的上述待打印日志按照上述日志打印格式打印到上述日志打印目的地上。
根据本公开的实施例,上述判断上述日志打印配置文件中是否规定了日志打印方式,包括:获取上述日志打印配置文件中的预设配置信息;以及分析上述预设配置信息是否被赋值;其中,若上述预设配置信息被赋值,则表明上述日志打印配置文件中规定了上述日志打印方式;否则,表明上述日志打印配置文件中没有规定上述日志打印方式。
根据本公开的实施例,上述通过上述预设接口从上述调用***中读取日志打印要求,包括:若上述预设配置信息被赋值,则通过上述预设接口从上述调用***中确定出与上述预设配置信息被赋予的值对应的类;以及从上述类中读取上述日志打印要求。
根据本公开的实施例,在上述响应于调用***触发的日志打印信号,获取日志打印配置文件之前,上述方法还包括:接收上述调用***发送的连接请求,获取上述连接请求中的连接标识;根据上述连接标识判断上述调用***是否有连接权限;以及若判断出上述调用***有上述连接权限,则允许连接。
根据本公开的实施例,上述方法还包括:若判断出上述日志打印配置文件中没有规定上述日志打印方式,则在控制台打印上述待打印日志。
本公开的另一个方面提供了一种日志打印***,包括:获取模块,用于响应于调用***触发的日志打印信号,获取日志打印配置文件;判断模块,用于判断上述日志打印配置文件中是否规定了日志打印方式;以及处理模块,用于在判断出上述日志打印配置文件中规定了上述日志打印方式的情况下,确定上述日志打印方式对应的预设接口,通过上述预设接口从上述调用***中读取日志打印要求,并根据上述日志打印要求打印待打印日志。
根据本公开的实施例,上述日志打印要求包括日志打印级别、日志打印目的地和日志打印格式,上述处理模块在根据上述日志打印要求打印待打印日志时,包括:确定单元,用于确定满足上述日志打印级别的上述待打印日志;以及打印单元,用于将满足上述日志打印级别的上述待打印日志按照上述日志打印格式打印到上述日志打印目的地上。
根据本公开的实施例,上述判断模块包括:获取单元,用于获取上述日志打印配置文件中的预设配置信息;以及分析单元,用于分析上述预设配置信息是否被赋值;其中,若上述预设配置信息被赋值,则表明上述日志打印配置文件中规定了上述日志打印方式;否则,表明上述日志打印配置文件中没有规定上述日志打印方式。
根据本公开的实施例,上述处理模块在通过上述预设接口从上述调用***中读取日志打印要求时,包括:处理单元,用于在上述预设配置信息被赋值的情况下,通过上述预设接口从上述调用***中确定出与上述预设配置信息被赋予的值对应的类;以及读取单元,用于从上述类中读取上述日志打印要求。
根据本公开的实施例,上述***还包括:接收模块,用于在响应于调用***触发的日志打印信号,获取日志打印配置文件之前,接收上述调用***发送的连接请求,获取上述连接请求中的连接标识;分析模块,用于根据上述连接标识判断上述调用***是否有连接权限;以及允许模块,用于在判断出上述调用***有上述连接权限的情况下,允许连接。
根据本公开的实施例,上述***还包括:打印模块,用于在判断出上述日志打印配置文件中没有规定上述日志打印方式的情况下,在控制台打印上述待打印日志。
本公开的再一个方面提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,上述处理器执行上述计算机程序时用于实现如上任一项所述的方法的步骤。
本公开的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时用于实现如上任一项所述的方法的步骤。
本公开提供的日志打印方法,在接收到调用***触发的日志打印信号时,可以获取日志打印配置文件,然后判断这个日志打印配置文件中是否规定日志打印方式,如果没有规定日志打印方式,就可以根据***本身的日志打印功能打印日志即在控制台打印日志,如果规定了日志打印方式,就可以根据规定的日志打印方式打印日志,即通过日志打印方式对应的预设接口从调用***中读取日志打印要求,并根据日志打印要求打印日志。由于无论是根据在控制台打印日志还是通过预设接口根据调用***中存储的日志打印要求打印日志均不会调用第三方的日志jar包,即不会使用第三方日志jar包中的打印要求打印日志,从而在被上述调用***调用时,不会与调用***中的日志打印方式发生冲突,即在调用***使用第三方日志jar包打印日志时,不会与调用***调用的第三方日志jar包冲突,故而本公开的实施例解决了现有技术中***间jar包调用对调用方原本调用的日志jar包产生冲突的缺陷,达到了灵活打印日志的技术效果。
附图说明
图1示意性示出了根据本公开实施例的日志打印方法的流程图;
图2示意性示出了根据本公开实施例的日志打印***的框图;
图3示意性示出了根据本公开另一实施例的日志打印***的框图;以及
图4示意性示出了根据本公开实施例的适于实现日志打印方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本公开,并不用于限定本公开。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提供的日志打印方法,在接收到调用***触发的日志打印信号时,可以获取日志打印配置文件,然后判断这个日志打印配置文件中是否规定日志打印方式,如果没有规定日志打印方式,就可以根据***本身的日志打印功能打印日志即在控制台打印日志,如果规定了日志打印方式,就可以根据规定的日志打印方式打印日志,即通过日志打印方式对应的预设接口从调用***中读取日志打印要求,并根据日志打印要求打印日志。由于无论是根据在控制台打印日志还是通过预设接口根据调用***中存储的日志打印要求打印日志均不会调用第三方的日志jar包,即不会使用第三方日志jar包中的打印要求打印日志,从而在被上述调用***调用时,不会与调用***中的日志打印方式发生冲突,即在调用***使用第三方日志jar包打印日志时,不会与调用***调用的第三方日志jar包冲突,故而本公开的实施例解决了现有技术中***间jar包调用对调用方原本调用的日志jar包产生冲突的缺陷,达到了灵活打印日志的技术效果。
实施例一
图1示意性示出了根据本公开实施例的日志打印方法的流程图。
如图1所示,实施例一的日志打印方法可以包括步骤S101~步骤S103,其中:
步骤S101,响应于调用***触发的日志打印信号,获取日志打印配置文件。
应用本公开日志打印方法的***可以称为被调用***,调用***可以调用被调用***的日志打印功能。在响应于调用***触发的日志打印信号,获取日志打印配置文件之前,该日志打印方法还可以包括:接收调用***发送的连接请求,获取连接请求中的连接标识;根据连接标识判断调用***是否有连接权限;以及若判断出调用***有连接权限,则允许连接。
具体地,在调用***想要使用被调用***的日志打印功能时,需要先请求连接被调用***,被调用***会判断调用***是否有连接权限,比如获取连接请求中的连接标识,根据连接标识判断调用***是否有连接权限,若被调用***判断出调用***有连接权限,则同意本次连接,进一步,该调用***可以向被调用***发送日志打印配置文件。其中,在根据连接标识判断调用***是否有连接权限时,可以分析白名单中是否有该连接标识,若白名单中有该连接标识则表明调用***有连接权限,否则认为调用***没有连接权限,其中,连接标识可以为调用***的***型号或IP地址等。
步骤S102,判断日志打印配置文件中是否规定了日志打印方式。
在本公开的实施例中,判断日志打印配置文件中是否规定了日志打印方式,可以包括:获取日志打印配置文件中的预设配置信息;以及分析预设配置信息是否被赋值;其中,若预设配置信息被赋值,则表明日志打印配置文件中规定了日志打印方式;否则,表明日志打印配置文件中没有规定日志打印方式。
具体地,日志打印配置文件中包含预设配置信息,可以根据预设配置信息是否被赋值来判断日志打印配置文件中是否规定了日志打印方式。例如,若日志打印配置文件为printlog.properties,预设配置信息为log.output.class,则在判断是否规定了日志打印方式时,可以判断printlog.properties中的log.output.class是否被赋值。
步骤S103,若判断出日志打印配置文件中规定了日志打印方式,则确定日志打印方式对应的预设接口,通过预设接口从调用***中读取日志打印要求,并根据日志打印要求打印待打印日志。
其中,日志打印要求是存储在调用***中的,这样在调用***使用被调用***中的日志打印方式时,被调用***可以通过引用调用***中规定的日志打印要求打印日志,而不再如现有技术那般引用第三方日志jar包中的打印要求打印日志,进而即便调用***本身引用了第三方jar包,也不会出现现有技术中***间jar包调用对调用***原本调用的日志jar包产生冲突的问题。
例如,若日志打印配置文件printlog.properties中的log.output.class被赋值,如log.output.class=com.paic.log.SysLogger,则表明日志打印配置文件中规定了日志打印方式,且该规定的日志打印方式为com.paic.log.SysLogger,确定printlog.properties对应的预设接口如LogInterface接口,进一步,本公开的实施例可以通过LogInterface接口根据com.paic.log.SysLogger打印待打印日志。
通过预设接口从调用***中读取日志打印要求,可以包括:若预设配置信息被赋值,则通过预设接口从调用***中确定出与预设配置信息被赋予的值对应的类;以及从类中读取日志打印要求。其中,与预设配置信息被赋予的值对应的类可以是类名与预设配置信息被赋予的值相同的类。
例如,被调用***上的预设接口为一个java接口,比如为LogInterface,该接口里面有一个printlog方法,被调用***在打印待打印日志之前,可以先读取日志打印配置文件printlog.properties中的log.output.class是否被赋值,若是,则读取该值例如为com.paic.log.SysLogger,此时,被调用***知道调用***指定了日志打印方式为采用自定义接口方式来实现日志打印,则被调用***可以通过LogInterface接口从调用***中找到文件名与com.paic.log.SysLogger一致的类,然后采用java的反射调用该类,读取类中的日志打印要求,再根据该读取到的日志打印要求打印该待打印日志。
根据本公开的实施例,日志打印要求可以包括日志打印级别、日志打印目的地和日志打印格式中至少一种。在日志打印要求包括日志打印级别、日志打印目的地和日志打印格式的情况下,根据日志打印要求打印待打印日志可以包括:确定出满足日志打印级别的待打印日志;以及将满足日志打印级别的待打印日志按照日志打印格式打印到日志打印目的地上。其中,日志可以包括以下几种级别:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,日志格式可以包括:日期、时间、日志级别、代码位置、日志内容、错误代码等等。
例如,假设本公开实施例的想要打印业务方面的日志,其中,日志打印级别为TRACE和WARN,日志打印格式包括:日期、时间、日志级别、日志内容,日志打印目的地为FileAppender文件,则可以从中众多业务日志中选择出级别为TRACE和WARN的待打印日志,如选择出了两条待打印日志,其中一条待打印日志的日期为2018-05-22、时间为15:35:53、日志级别为TRACE、日志内容为为[0x00001b10],另一条待打印日志的日期为2018-05-22、时间为15:39:36、日志级别为WARN、日志内容为为[0x000029fc],进而可以将这两条待打印日志按照上面这种日志打印格式输出到FileAppender文件中。
实施例二
在图1中,实施例二的日志打印方法可以包括步骤S101、步骤S102和步骤S104,其中:
步骤S101,响应于调用***触发的日志打印信号,获取日志打印配置文件。
应用本公开日志打印方法的***可以称为被调用***,调用***可以调用被调用***的日志打印功能。在响应于调用***触发的日志打印信号,获取日志打印配置文件之前,该日志打印方法还可以包括:接收调用***发送的连接请求,获取连接请求中的连接标识;根据连接标识判断调用***是否有连接权限;以及若判断出调用***有连接权限,则允许连接。
具体地,在调用***想要使用被调用***的日志打印功能时,需要先请求连接被调用***,被调用***会判断调用***是否有连接权限,比如获取连接请求中的连接标识,根据连接标识判断调用***是否有连接权限,若被调用***判断出调用***有连接权限,则同意本次连接,进一步,该调用***可以向被调用***发送日志打印配置文件。其中,在根据连接标识判断调用***是否有连接权限时,可以分析白名单中是否有该连接标识,若白名单中有该连接标识则表明调用***有连接权限,否则认为调用***没有连接权限,其中,连接标识可以为调用***的***型号或IP地址等。
步骤S102,判断日志打印配置文件中是否规定了日志打印方式。
在本公开的实施例中,判断日志打印配置文件中是否规定了日志打印方式,可以包括:获取日志打印配置文件中的预设配置信息;以及分析预设配置信息是否被赋值;其中,若预设配置信息被赋值,则表明日志打印配置文件中规定了日志打印方式;否则,表明日志打印配置文件中没有规定日志打印方式。
具体地,日志打印配置文件中包含预设配置信息,可以根据预设配置信息是否被赋值来判断日志打印配置文件中是否规定了日志打印方式。例如,若日志打印配置文件为printlog.properties,预设配置信息为log.output.class,则在判断是否规定了日志打印方式时,可以判断printlog.properties中的log.output.class是否被赋值。
在步骤S104,若判断出日志打印配置文件中没有规定日志打印方式,则在控制台打印待打印日志。
如果调用***对被调用***没有任何关于日志打印方面的要求,则可以不在该日志打印配置文件中规定任何日志打印方式,这样在被调用***发现日志打印配置文件中没有规定日志打印方式的时候,便可以根据***本身的日志打印功能打印待打印日志即在控制台打印该待打印日志。其中,在日志打印配置文件中的预设配置信息没有被赋值时,表明日志打印配置文件中没有规定日志打印方式。
例如,若日志打印配置文件printlog.properties中的log.output.class没有被赋值,如log.output.class=,则表明日志打印配置文件中没有规定日志打印方式,进而本公开的实施例可以在控制台打印该待打印日志。
本公开提供的日志打印方法,在接收到调用***触发的日志打印信号时,可以获取日志打印配置文件,然后判断这个日志打印配置文件中是否规定日志打印方式,如果没有规定日志打印方式,就可以根据***本身的日志打印功能打印日志即在控制台打印日志,如果规定了日志打印方式,就可以根据规定的日志打印方式打印日志,即通过日志打印方式对应的预设接口从调用***中读取日志打印要求,并根据日志打印要求打印日志。由于无论是根据在控制台打印日志还是通过预设接口根据调用***中存储的日志打印要求打印日志均不会调用第三方的日志jar包,即不会使用第三方日志jar包中的打印要求打印日志,从而在被上述调用***调用时,不会与调用***中的日志打印方式发生冲突,即在调用***使用第三方日志jar包打印日志时,不会与调用***调用的第三方日志jar包冲突,故而本公开的实施例解决了现有技术中***间jar包调用对调用方原本调用的日志jar包产生冲突的缺陷,达到了灵活打印日志的技术效果。
图2示意性示出了根据本公开实施例的日志打印***的框图。
如图2所示,实施例一对应的日志打印***200可以包括获取模块210、判断模220和处理模块230,其中:
获取模块210用于响应于调用***触发的日志打印信号,获取日志打印配置文件;
判断模块220用于判断日志打印配置文件中是否规定了日志打印方式;以及
处理模块230用于在判断出日志打印配置文件中规定了日志打印方式的情况下,确定日志打印方式对应的预设接口,通过预设接口从调用***中读取日志打印要求,并根据日志打印要求打印待打印日志。
图3示意性示出了根据本公开另一实施例的日志打印***的框图。
如图3所示,实施例二对应的日志打印***300可以包括获取模块210、判断模220和打印模块310,其中:
获取模块210用于响应于调用***触发的日志打印信号,获取日志打印配置文件;
判断模块220用于判断日志打印配置文件中是否规定了日志打印方式;以及
打印模块310用于在判断出日志打印配置文件中没有规定日志打印方式的情况下,在控制台打印待打印日志。
本公开提供的日志打印***,在接收到调用***触发的日志打印信号时,可以获取日志打印配置文件,然后判断这个日志打印配置文件中是否规定日志打印方式,如果没有规定日志打印方式,就可以根据***本身的日志打印功能打印日志即在控制台打印日志,如果规定了日志打印方式,就可以根据规定的日志打印方式打印日志,即通过日志打印方式对应的预设接口从调用***中读取日志打印要求,并根据日志打印要求打印日志。由于无论是根据在控制台打印日志还是通过预设接口根据调用***中存储的日志打印要求打印日志均不会调用第三方的日志jar包,即不会使用第三方日志jar包中的打印要求打印日志,从而在被上述调用***调用时,不会与调用***中的日志打印方式发生冲突,即在调用***使用第三方日志jar包打印日志时,不会与调用***调用的第三方日志jar包冲突,故而本公开的实施例解决了现有技术中***间jar包调用对调用方原本调用的日志jar包产生冲突的缺陷,达到了灵活打印日志的技术效果。
作为一种可选的实施例,日志打印要求包括日志打印级别、日志打印目的地和日志打印格式,处理模块在根据日志打印要求打印待打印日志时,可以包括:确定单元,用于确定满足日志打印级别的待打印日志;以及打印单元,用于将满足日志打印级别的待打印日志按照日志打印格式打印到日志打印目的地上。
作为一种可选的实施例,判断模块可以包括:获取单元,用于获取日志打印配置文件中的预设配置信息;以及分析单元,用于分析预设配置信息是否被赋值;其中,若预设配置信息被赋值,则表明日志打印配置文件中规定了日志打印方式;否则,表明日志打印配置文件中没有规定日志打印方式。
作为一种可选的实施例,处理模块在通过预设接口从调用***中读取日志打印要求时,可以包括:处理单元,用于在预设配置信息被赋值的情况下,通过预设接口从调用***中确定出与预设配置信息被赋予的值对应的类;以及读取单元,用于从类中读取日志打印要求。
作为一种可选的实施例,日志打印***还可以包括:接收模块,用于在响应于调用***触发的日志打印信号,获取日志打印配置文件之前,接收调用***发送的连接请求,获取连接请求中的连接标识;分析模块,用于根据连接标识判断调用***是否有连接权限;以及允许模块,用于在判断出调用***有连接权限的情况下,允许连接。
图4示意性示出了根据本公开实施例的适于实现日志打印方法的计算机设备的硬件架构示意图。本实施例中,计算机设备400是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,计算机设备400至少包括但不限于:可通过***总线相互通信连接存储器410、处理器420、网络接口430。其中:
存储器410至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器410可以是计算机设备400的内部存储模块,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器410也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器410还可以既包括计算机设备400的内部存储模块也包括其外部存储设备。本实施例中,存储器410通常用于存储安装于计算机设备400的操作***和各类应用软件,例如日志打印方法的程序代码等。此外,存储器410还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器420在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器420通常用于控制计算机设备400的总体操作,例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等。本实施例中,处理器420用于运行存储器410中存储的程序代码或者处理数据。
网络接口430可包括无线网络接口或有线网络接口,该网络接口430通常用于在计算机设备400与其他计算机设备之间建立通信连接。例如,网络接口430用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信连接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图4仅示出了具有部件410-430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器410中的日志打印方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器420)所执行,以完成本发明。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的日志打印方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例中的日志打印方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种日志打印方法,其特征在于,包括:
响应于调用***触发的日志打印信号,获取日志打印配置文件;
判断所述日志打印配置文件中是否规定了日志打印方式;以及
若判断出所述日志打印配置文件中规定了所述日志打印方式,则确定所述日志打印方式对应的预设接口,通过所述预设接口从所述调用***中读取日志打印要求,并根据所述日志打印要求打印待打印日志;
所述判断所述日志打印配置文件中是否规定了日志打印方式,包括:
获取所述日志打印配置文件中的预设配置信息;以及
分析所述预设配置信息是否被赋值;其中,若所述预设配置信息被赋值,则表明所述日志打印配置文件中规定了所述日志打印方式;否则,表明所述日志打印配置文件中没有规定所述日志打印方式;
所述通过所述预设接口从所述调用***中读取日志打印要求,包括:
若所述预设配置信息被赋值,则通过所述预设接口从所述调用***中确定出与所述预设配置信息被赋予的值对应的类;以及
从所述类中读取所述日志打印要求。
2.根据权利要求1所述的方法,其特征在于,所述日志打印要求包括日志打印级别、日志打印目的地和日志打印格式,所述根据所述日志打印要求打印待打印日志,包括:
确定满足所述日志打印级别的所述待打印日志;以及
将满足所述日志打印级别的所述待打印日志按照所述日志打印格式打印到所述日志打印目的地上。
3.根据权利要求1所述的方法,其特征在于,在所述响应于调用***触发的日志打印信号,获取日志打印配置文件之前,所述方法还包括:
接收所述调用***发送的连接请求,获取所述连接请求中的连接标识;
根据所述连接标识判断所述调用***是否有连接权限;以及
若判断出所述调用***有所述连接权限,则允许连接。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若判断出所述日志打印配置文件中没有规定所述日志打印方式,则在控制台打印所述待打印日志。
5.一种日志打印***,其特征在于,包括:
获取模块,用于响应于调用***触发的日志打印信号,获取日志打印配置文件;
判断模块,用于判断所述日志打印配置文件中是否规定了日志打印方式;以及
处理模块,用于在判断出所述日志打印配置文件中规定了所述日志打印方式的情况下,确定所述日志打印方式对应的预设接口,通过所述预设接口从所述调用***中读取日志打印要求,并根据所述日志打印要求打印待打印日志;
所述判断模块包括:
获取单元,用于获取日志打印配置文件中的预设配置信息;以及
分析单元,用于分析预设配置信息是否被赋值;其中,若预设配置信息被赋值,则表明日志打印配置文件中规定了日志打印方式;否则,表明日志打印配置文件中没有规定日志打印方式;
所述处理模块在通过预设接口从调用***中读取日志打印要求时,包括:
处理单元,用于在预设配置信息被赋值的情况下,通过预设接口从调用***中确定出与预设配置信息被赋予的值对应的类;以及
读取单元,用于从类中读取日志打印要求。
6.根据权利要求5所述的***,其特征在于,所述日志打印要求包括日志打印级别、日志打印目的地和日志打印格式,所述处理模块在根据所述日志打印要求打印待打印日志时,包括:
确定单元,用于确定满足所述日志打印级别的所述待打印日志;以及
打印单元,用于将满足所述日志打印级别的所述待打印日志按照所述日志打印格式打印到所述日志打印目的地上。
7.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至4任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418924.6A CN110308880B (zh) | 2019-05-20 | 2019-05-20 | 日志打印方法、***、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418924.6A CN110308880B (zh) | 2019-05-20 | 2019-05-20 | 日志打印方法、***、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308880A CN110308880A (zh) | 2019-10-08 |
CN110308880B true CN110308880B (zh) | 2022-04-08 |
Family
ID=68074923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910418924.6A Active CN110308880B (zh) | 2019-05-20 | 2019-05-20 | 日志打印方法、***、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110308880B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767261A (zh) * | 2020-05-29 | 2020-10-13 | 广州视源电子科技股份有限公司 | 调试日志输出方法、装置、存储介质及电子设备 |
CN112130781A (zh) * | 2020-09-22 | 2020-12-25 | 平安科技(深圳)有限公司 | 日志打印方法、装置、电子设备和存储介质 |
CN112148699B (zh) * | 2020-09-28 | 2023-09-05 | 深圳平安智汇企业信息管理有限公司 | 日志管理方法、装置、设备及介质 |
CN112559476B (zh) * | 2020-12-16 | 2023-07-21 | 中国平安人寿保险股份有限公司 | 一种用于提高目标***性能的日志存储方法及其相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455550A (zh) * | 2002-04-30 | 2003-11-12 | 佳能株式会社 | 网络设备管理***及其控制方法 |
JP2010217957A (ja) * | 2009-03-13 | 2010-09-30 | Canon Inc | 情報処理装置、稼働時間計算方法、及び、プログラム |
JP2014046572A (ja) * | 2012-08-31 | 2014-03-17 | Brother Ind Ltd | 印刷装置および印刷システム |
CN105204789A (zh) * | 2015-08-24 | 2015-12-30 | 北京金山安全软件有限公司 | 一种api调试日志打印方法及装置 |
CN105260293A (zh) * | 2015-11-06 | 2016-01-20 | Tcl集团股份有限公司 | 日志信息的输出方法、装置及终端设备 |
CN105607878A (zh) * | 2015-11-16 | 2016-05-25 | 北京京东尚科信息技术有限公司 | 一种日志打印方法及其设备 |
CN109375884A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 应用日志打印方法、装置、计算机设备和存储介质 |
CN109445721A (zh) * | 2017-11-06 | 2019-03-08 | 贵阳朗玛信息技术股份有限公司 | 一种规范日志信息打印的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881172B2 (en) * | 2008-02-04 | 2014-11-04 | Red Hat, Inc. | Configuration interface manager |
CN101905578B (zh) * | 2010-07-19 | 2012-07-11 | 山东新北洋信息技术股份有限公司 | 打印机及其控制方法 |
CN107678711A (zh) * | 2017-11-13 | 2018-02-09 | 成都创慧科达科技有限公司 | 一种共享打印机打印日志生成***和方法 |
-
2019
- 2019-05-20 CN CN201910418924.6A patent/CN110308880B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455550A (zh) * | 2002-04-30 | 2003-11-12 | 佳能株式会社 | 网络设备管理***及其控制方法 |
JP2010217957A (ja) * | 2009-03-13 | 2010-09-30 | Canon Inc | 情報処理装置、稼働時間計算方法、及び、プログラム |
JP2014046572A (ja) * | 2012-08-31 | 2014-03-17 | Brother Ind Ltd | 印刷装置および印刷システム |
CN105204789A (zh) * | 2015-08-24 | 2015-12-30 | 北京金山安全软件有限公司 | 一种api调试日志打印方法及装置 |
CN105260293A (zh) * | 2015-11-06 | 2016-01-20 | Tcl集团股份有限公司 | 日志信息的输出方法、装置及终端设备 |
CN105607878A (zh) * | 2015-11-16 | 2016-05-25 | 北京京东尚科信息技术有限公司 | 一种日志打印方法及其设备 |
CN109445721A (zh) * | 2017-11-06 | 2019-03-08 | 贵阳朗玛信息技术股份有限公司 | 一种规范日志信息打印的方法及装置 |
CN109375884A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 应用日志打印方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
一种基于Log4J的日志输出组件的设计;史志英等;《科技广场》;20070901(第07期);第173-175页 * |
基于Linux内核的智能日志生成***;刘洪武等;《计算机工程》;20120920(第18期);第261-263页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110308880A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110308880B (zh) | 日志打印方法、***、计算机设备及计算机可读存储介质 | |
CN107896162B (zh) | 监控***的部署方法、装置、计算机设备及存储介质 | |
US20210351978A1 (en) | Implementation of compliance settings by a mobile device for compliance with a configuration scenario | |
CN111756674B (zh) | 网络通信方法、***、设备及计算机可读存储介质 | |
CN111045921A (zh) | 自动化接口测试方法、装置、计算机设备及存储介质 | |
CN111490947A (zh) | 数据包发送方法、数据包接收方法、***、设备及介质 | |
CN108170551B (zh) | 基于爬虫***的前后端错误处理方法、服务器及存储介质 | |
CN108427639B (zh) | 自动化测试方法、应用服务器及计算机可读存储介质 | |
CN109558315B (zh) | 测试范围的确定方法、装置及设备 | |
CN111831365A (zh) | 接口路由转发方法、***、计算机设备及可读存储介质 | |
Codes | Documentation | |
CN110866834A (zh) | 批处理程序的执行方法及*** | |
CN113645308B (zh) | 移动终端tcp通信、装置、设备及存储介质 | |
CN111061448A (zh) | 日志信息的显示方法、装置、电子设备及存储介质 | |
CN111159226A (zh) | 指标查询方法及*** | |
CN108664343B (zh) | 一种微服务的有状态调用方法及装置 | |
CN112416384A (zh) | 软件升级方法、装置及计算机设备 | |
CN108965108B (zh) | 一种消息推送方法及相关设备 | |
CN111563038A (zh) | Sdk测试方法、装置、计算机设备及计算机可读存储介质 | |
CN111984484A (zh) | 无侵入式微服务接入方法及*** | |
CN112491993A (zh) | 通讯的建立方法、装置、电子设备及计算机可读存储介质 | |
CN114764324A (zh) | 企业资源规划***及其集成方法 | |
CN112417324A (zh) | 基于Chrome的URL拦截方法、装置及计算机设备 | |
CN110928572A (zh) | 接口调用与业务***分离方法、***和计算机设备 | |
CN111178044B (zh) | 一种确定目标文本要素的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |