CN103645983A - 一种国产环境下日志文件的生成方法及装置 - Google Patents
一种国产环境下日志文件的生成方法及装置 Download PDFInfo
- Publication number
- CN103645983A CN103645983A CN201310695510.0A CN201310695510A CN103645983A CN 103645983 A CN103645983 A CN 103645983A CN 201310695510 A CN201310695510 A CN 201310695510A CN 103645983 A CN103645983 A CN 103645983A
- Authority
- CN
- China
- Prior art keywords
- current
- journal file
- thread
- time
- daily record
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种国产环境下日志文件的生成方法及装置,该方法包括:当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程,触发该第一线程建立当前日志文件,并以该第一线程建立该当前日志文件的时间为起点,分别记录第一当前时间长、第二当前时间长,当该第二当前时间长达到第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发该第一线程建立新的当前日志文件,由于当该第一当前时间长达到预设的第二时间阈值时,会触发该第二线程将当前日志数据写入到当前日志文件中,从而保证了当所述第一线程创建新的日志文件前,当前日志数据已经写入到当前日志文件中,实现了日志文件与日志数据的一致性。
Description
技术领域
本申请涉及计算机应用技术领域,尤其是一种国产环境下日志文件的生成方法及装置。
背景技术
用户访问计算机设备会产生相应的日志文件,所述日志文件中包含有相应的访问记录,用户通过查看日志文件可以获知最近对设备的访问情况。如,访问应用服务器会生成HTTP服务日志文件,用户查看所述服务日志文件,可获知最近一次对应用服务器中的应用程序的访问记录。生成日志文件需要两个线程进行两个步骤的工作,首先日志滚动线程新建日志文件,然后日志更新线程向所述新建的日志文件中写入日志数据。
日志文件的生成方式基于时间策略,即日志滚动线程每隔一段时间创建一个日志文件,日志更新线程每隔一段时间向日志文件中写入日志数据。但所述两个线程之间相互独立,当日志更新线程的时间间隔比日志滚动线程的时间间隔大时,会导致日志滚动线程新建的日志文件中无法存入最新的日志数据,导致日志文件与日志数据的不一致性。
发明内容
有鉴于此,本申请提供了一种国产环境下日志文件的生成方法及装置,以解决现有技术中国产环境下日志文件与日志数据的不一致性问题。本申请提供的技术方案如下:
一种国产环境下日志文件的生成方法,包括:
当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程;
触发所述第一线程建立当前日志文件;
以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;
当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长;
以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长;
当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
上述方法,优选的,所述触发所述第二线程将当前日志数据写入到所述当前日志文件中,包括:
触发所述第二线程从缓冲区中获取当前日志数据;
触发所述第二线程将所述当前日志数据写入到当前日志文件中。
上述方法,优选的,预设缓冲区的容量阈值,所述方法还包括:
当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
上述方法,优选的,还包括:
将所述当前日志文件中的日志数据进行显示。
本申请还提供了一种国产环境下日志文件的生成装置,包括:
创建模块,用于当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程;
第一触发模块,用于触发所述第一线程建立当前日志文件;
第一计时模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长;
第二计时模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长;当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
上述装置,优选的,所述第一计时模块包括:
第一计时子模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;
第一触发子模块,用于当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;触发所述第一计时子模块重新记录第一当前时间长;
其中,所述第一触发子模块包括:
第一触发单元,用于触发所述第二线程从缓冲区中获取当前日志数据;
第二触发单元,用于触发所述第二线程将所述当前日志数据写入到当前日志文件中。
上述装置,优选的,还包括:
预设模块,用于预设缓冲区的容量阈值;
缓冲区监测模块,用于当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
上述装置,优选的,还包括:
显示模块,用于将所述当前日志文件中的日志数据进行显示。
由以上的技术方案可知,本申请提供了一种国产环境下日志文件的生成方法及装置,该方法包括:当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程,触发该第一线程建立当前日志文件,并以该第一线程建立该当前日志文件的时间为起点,分别记录第一当前时间长、第二当前时间长,当该第二当前时间长达到第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发该第一线程建立新的当前日志文件,由于当该第一当前时间长达到预设的第二时间阈值时,会触发该第二线程将当前日志数据写入到当前日志文件中,从而保证了当所述第一线程创建新的日志文件前,当前日志数据已经写入到当前日志文件中,实现了日志文件与日志数据的一致性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种国产环境下日志文件生成方法一个实施例的流程图;
图2为本申请提供的一种国产环境下日志文件生成方法另一实施例的流程图;
图3为本申请提供的一种国产环境下日志文件生成方法又一实施例的流程图;
图4为本申请提供的一种国产环境下日志文件生成装置一个实施例的结构示意图;
图5为本申请提供的一种国产环境下日志文件生成装置另一实施例的部分结构示意图;
图6为本申请提供的一种国产环境下日志文件生成装置又一实施例的结构示意图;
图7为本申请提供的一种国产环境下日志文件生成装置又一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,其示出了本申请提供的一种国产环境下日志文件生成方法一个实施例的流程图,本实施例可以包括:
步骤101:当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程。
用户访问计算机设备会产生日志文件,所述日志文件用于记录设备系统的操作事件。用户需要对计算机设备的操作行为进行记录时,用户触发生成日志文件生成指令。当接收到该指令时,创建第一线程及第二线程。
步骤102:触发所述第一线程建立当前日志文件。
所述第一线程用于建立当前日志文件。其中,所述日志文件的形式包括但不限定于后缀名为txt、log的文本文件、二进制文件等。
步骤103:以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长。
本步骤的实现方式可以是调用当前系统时间,以该当前系统时间作为建立当前日志文件的时间,同时作为所述第一当前时间长的起点。
所述第一当前时间长是与所述第二线程对应的,当所述第一当前时间长满足一定的预设条件时,触发所述第二线程进行写日志数据的操作。
步骤104:当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长。
其中,所述日志数据为所述系统的操作事件,即对数据的处理操作。
所述第二时间阈值为预先设置的时间阈值,作为触发所述第二线程将当前日志数据写入当前日志文件的时间间隔标准,即每隔所述第二时间阈值即触发所述第二线程向所述当前日志文件中写入一次当前日志数据。例如,每隔5秒触发一次第二线程将日志数据写入到日志文件中。
需要说明的是,所述第二线程将所述当前日志数据写入到所述当前日志文件中的时间是极短的,可以忽略不计。因此,可以认为,每当所述第一当前时间长达到所述第二时间阈值,所述第二线程即完成了将当前日志数据写入到当前日志文件中的操作。
需要说明的是,步骤104与步骤103是交替进行的,即每当步骤104中所述第二线程将所述当前日志数据写入到所述当前日志文件,以该写入动作的时间为起点,重新进行步骤103重新开始对所述第一当前时间长进行计时。
步骤105:以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长。
本步骤的实现方式可以是调用当前系统时间,以该当前系统时间作为建立当前日志文件的时间,同时作为所述第二当前时间长的起点。
所述第二当前时间长是与所述第一线程对应的,当所述第二当前时间长满足一定的预设条件时,触发所述第一线程进行建立日志文件的操作。
步骤106:当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
在现有技术中,所述第一时间阈值作为触发所述第一线程建立新的日志文件的时间间隔标准,即每隔所述第一时间阈值触发一次所述第一线程建立新的当前日志文件。例如,每隔3秒触发一次第一线程建立新的日志文件。
但本申请中,触发所述第一线程建立新的日志文件的时间标准不仅仅基于所述第一时间阈值,而是所述第一时间阈值与所述第二时间阈值的结合,具体来说,是所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过所述第一时间阈值。
需要说明的是,确定所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值,需首先判断所述第二当前时间长是否达到所述第二时间阈值的整数倍,当达到时,进一步判断所述第二当前时间长是否达到或超过了所述第一时间阈值。例如,所述预设的第一时间阈值为3秒,所述第二时间阈值为5秒,当所述第二当前时间长达到所述3秒时,并未达到所述第二时间阈值5秒,则继续记录所述第二时间长,直到所述第二当前时间长达到6秒时,同时满足了超过所述第一时间阈值5秒。
需要说明的是,所述第一线程建立日志文件的时间是极短的,可以忽略不计。因此可以认为,每当所述第二当前时间长满足达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值的条件时,所述第一线程即完成了建立新的日志文件的操作,并以该建立动作的时间点为起点,对所述第二当前时间长重新计时。
需要说明的是,步骤105与步骤106是交替进行的,即每当步骤106中所述第一线程建立新的当前日志文件,以该建立动作的时间,重新进行步骤105重新开始对所述第二当前时间长进行计时。
需要说明的是,本实施例中的步骤101至106的执行顺序并不依赖于所述步骤的数字标识。具体地,当步骤102完成触发所述第二线程建立当前日志文件的操作后,同时进行步骤103及步骤104,由上述说明可知,所述步骤103与步骤104是交替进行的,同时,所述步骤105与步骤106是交替进行的。
在本实施例中,当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程,触发该第一线程建立当前日志文件,并以该第一线程建立该当前日志文件的时间为起点,分别记录第一当前时间长、第二当前时间长,当该第二当前时间长达到第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发该第一线程建立新的当前日志文件,由于当该第一当前时间长达到预设的第二时间阈值时,会触发该第二线程将当前日志数据写入到当前日志文件中,从而保证了当所述第一线程创建新的日志文件前,当前日志数据已经写入到当前日志文件中,实现了日志文件与日志数据的一致性。
具体地,若所述预设第一时间阈值大于所述预设第二时间阈值,所述第二线程多次向所述当前日志文件中写入日志数据后,所述第一线程建立新的日志文件;若所述预设第一时间间隔小于所述预设第二时间间隔,所述第二线程每次向所述当前日志文件中写入当前日志数据后,所述第一线程即建立新的日志文件。但不论是何种情况,所述第一线程建立新的日志文件前,所述当前日志数据已经写入到当前的日志文件(建立新的日志文件前的最后一个日志文件)中,从而实现了日志文件与日志数据的一致性。
上述方法实施例可应用于但不限定应用于国内研究开发的飞腾CPU、麒麟操作系统及龙芯平台等国产硬件或软件环境。
上述实施例中的日志数据暂存在缓冲区中,则触发所述第二线程将当前日志数据写入到所述当前日志文件中可以通过以下方式实现:
触发所述第二线程从缓冲区中获取当前日志数据;触发所述第二线程将所述当前日志数据写入到当前日志文件中。
需要说明的是,需要对所述缓冲区进行清空操作。所述清空的方式,可以是缓冲区自动清空;可以是本实施例对所述缓冲区进行清空。本实施例清空的方式可以是触发所述第二线程从缓冲区中获取当前日志数据的方式为剪切数据,即剪切当前日志数据的同时,即完成了对所述缓冲区的情况;也可以是在复制完所述当前日志数据后,对所述缓冲区进行清空。所述清空的时间点可以是在执行完获取日志数据后,也可以是执行完写入到当前日志文件中后,或者与所述执行写入当前日志文件的操作同时进行。
预设上一实施例中的缓冲区的容量阈值,请参阅图2,其示出了本申请提供的一种国产环境下日志文件生成方法另一个实施例的流程图,在实施例一的基础上,还可以包括:
步骤107:当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
本步骤中隐含着实时对所述缓冲区中日志数据的数据量的监测,即实时判断所述日志数据的数据量是否满足所述预设容量阈值。
需要说明的是,本步骤是在实施例一的步骤102之后开始执行的。即当触发所述第一线程建立日志文件后,即开始执行实时判断所述数据量,当满足时即触发所述第二线程将所述缓冲区中的当前日志数据写入到所述日志文件中,并重新实时监测所述缓冲区中的日志数据的数据量。另外,在本步骤之后,同样需要对所述缓冲区进行清空,具体方式参见上述清空说明,在此不作赘述。
通过本步骤可以避免造成所述日志数据在所述缓冲区中溢出导致的日志数据丢失。
在上述各个方法实施例之后,还可以包括:将所述当前日志文件中的日志数据进行显示。请参阅图3,其示出了本申请提供的一种国产环境下日志文件生成方法又一实施例的流程图,在实施例一的步骤104之后,本实施例还可以包括:
步骤301:将所述当前日志文件中的日志数据进行显示。
其中,所述显示的方式可以是获取所述当前日志文件中的日志数据进行显示,从而用户可以查看到最新的日志数据;也可以是根据用户的显示指令,获取所述当前日志文件之前的与所述显示指令对应的日志文件中的日志数据进行显示,从而用户可以查看到之前某个时间段内的日志数据。
请参阅图4,其示出了本申请提供的一种国产环境下日志文件生成装置一个实施例的结构示意图,本实施例可以包括:创建模块401、第一触发模块402、第一计时模块403及第二计时模块404。其中:
所述创建模块401,用于当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程。
用户访问计算机设备会产生日志文件,所述日志文件用于记录设备系统的操作事件。用户需要对计算机设备的操作行为进行记录时,用户触发生成日志文件生成指令。当所述创建模块401接收到该指令时,创建第一线程及第二线程。
所述第一触发模块402,用于触发所述第一线程建立当前日志文件。
所述第一线程用于建立当前日志文件。其中,所述日志文件的形式包括但不限定于后缀名为txt、log等的文本文件、二进制文件等。
所述第一计时模块403,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长,当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长。
所述第一计时模块403可以调用当前系统时间,以该当前系统时间作为建立当前日志文件的时间,同时作为所述第一当前时间长的起点。
所述第一当前时间长是与所述第二线程对应的,当所述第一当前时间长满足一定的预设条件时,所述第一计时模块403触发所述第二线程进行写日志数据的操作。
其中,所述日志数据为所述系统的操作事件,即对数据的处理操作。
所述第二时间阈值为预先设置的时间阈值,作为所述第一计时模块403触发所述第二线程将当前日志数据写入当前日志文件的时间间隔标准,即每隔所述第二时间阈值所述第一计时模块403即触发所述第二线程向所述当前日志文件中写入一次当前日志数据。例如,所述第一计时模块403每隔5秒触发一次第二线程将日志数据写入到日志文件中。
需要说明的是,所述第二线程将所述当前日志数据写入到所述当前日志文件中的时间是极短的,可以忽略不计。因此,可以认为,每当所述第一当前时间长达到所述第二时间阈值,所述第二线程即完成了将当前日志数据写入到当前日志文件中的操作。
需要说明的是,所述第一计时模块403是实时工作的,即实时记录所述第一当前时间长,当所述第一当前时间长满足所述达到预设的第二时间阈值的时间条件时,即触发所述第二线程写入日志数据,并重新记录所述第一当前时间长。
所述第二计时模块404,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长,当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
所述第二计时模块404可以调用当前系统时间,以该当前系统时间作为建立当前日志文件的时间,同时作为所述第二当前时间长的起点。
所述第二当前时间长是与所述第一线程对应的,当所述第二当前时间长满足一定的预设条件时,所述第二计时模块404触发所述第一线程进行建立日志文件的操作。
在现有技术中,所述第一时间阈值作为触发所述第一线程建立新的日志文件的时间间隔标准,即每隔所述第一时间阈值触发一次所述第一线程建立新的当前日志文件。例如,每隔3秒触发一次第一线程建立新的日志文件。
但本申请中,所述第二计时模块404触发所述第一线程建立新的日志文件的时间标准不仅仅基于所述第一时间阈值,而是所述第一时间阈值与所述第二时间阈值的结合,具体来说,是所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过所述第一时间阈值。
需要说明的是,所述第二计时模块404确定所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值,需首先判断所述第二当前时间长是否达到所述第二时间阈值的整数倍,当达到时,进一步判断所述第二当前时间长是否达到或超过了所述第一时间阈值。例如,所述预设的第一时间阈值为3秒,所述第二时间阈值为5秒,当所述第二当前时间长达到所述3秒时,并未达到所述第二时间阈值5秒,则继续记录所述第二时间长,直到所述第二当前时间长达到6秒时,同时满足了超过所述第一时间阈值5秒。
需要说明的是,所述第一线程建立日志文件的时间是极短的,可以忽略不计。因此可以认为,每当所述第二当前时间长满足达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值的条件时,所述第一线程即完成了建立新的日志文件的操作,所述第二计时模块404并以该建立动作的时间点为起点,对所述第二当前时间长重新计时。
需要说明的是,所述第二计时模块404是实时工作的,即实时记录所述第二当前时间长,当所述第二当前时间长满足所述达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值的时间标准时,触发所述第一线程建立新的日志文件,并重新记录所述第二当前时间长。
其中,本实施例中的403模块与404模块是分别与所述第一触发模块402相连,被所述第一触发模块402触发后分别实时工作。
在本实施例中,当接收到用户发送的日志文件生成指令时,创建模块创建第一线程及第二线程,第一触发模块触发该第一线程建立当前日志文件,第一计时模块以该第一线程建立该当前日志文件的时间为起点,第一计时模块记录第一当前时间长、第二计时模块记录第二当前时间长,当该第二当前时间长达到第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,第二计时模块触发该第一线程建立新的当前日志文件,由于当该第一当前时间长达到预设的第二时间阈值时,第一计时模块会触发该第二线程将当前日志数据写入到当前日志文件中,从而保证了当所述第一线程创建新的日志文件前,当前日志数据已经写入到当前日志文件中,实现了日志文件与日志数据的一致性。
具体地,若所述预设第一时间阈值大于所述预设第二时间阈值,所述第二线程多次向所述当前日志文件中写入日志数据后,所述第一线程建立新的日志文件;若所述预设第一时间间隔小于所述预设第二时间间隔,所述第二线程每次向所述当前日志文件中写入当前日志数据后,所述第一线程即建立新的日志文件。但不论是何种情况,所述第一线程建立新的日志文件前,所述当前日志数据已经写入到当前的日志文件(建立新的日志文件前的最后一个日志文件)中,从而实现了日志文件与日志数据的一致性。
上述装置实施例可应用于但不限定应用于国内研究开发的飞腾CPU、麒麟操作系统及龙芯平台等国产硬件或软件环境。
上述装置实施例中的日志数据暂存在缓冲区中,请参阅图5,其示出了本申请提供的一种国产环境下日志文件生成装置另一实施例的部分结构示意图,上述装置中的所述第一计时模块403可以通过以下方式实现:第一计时子模块4031及第一触发子模块4032。其中:
所述第一计时子模块4031,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;所述第一触发子模块4032,用于当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;触发所述第一计时子模块重新记录第一当前时间长;
其中,所述第一触发子模块4031包括:第一触发单元40311及第二触发单元40312。其中:
所述第一触发单元40311,用于触发所述第二线程从缓冲区中获取当前日志数据;所述第二触发单元40312,用于触发所述第二线程将所述当前日志数据写入到当前日志文件中。
需要说明的是,需要对所述缓冲区进行清空操作。所述清空的方式,可以是缓冲区自动清空;可以是本装置对所述缓冲区进行清空。本装置清空的方式可以是所述第一触发单元40311触发所述第二线程从缓冲区中获取当前日志数据的方式为剪切数据,即剪切当前日志数据的同时,即完成了对所述缓冲区的清空;也可以是所述第一触发单元40311在复制完所述当前日志数据后,对所述缓冲区进行清空;或者可以是所述第二触发单元40312在完成触发所述第二线程将所述当前日志数据写入到当前日志文件中后对所述缓冲区进行清空。
预设上一装置实施例中的缓冲区的容量阈值,请参阅图6,其示出了本申请提供的一种国产环境下日志文件生成装置又一个实施例的结构示意图,在上一装置实施例的基础上,还可以包括:预设模块405及缓冲区监测模块406。其中:
所述预设模块405,用于预设缓冲区的容量阈值。
所述缓冲区监测模块406,用于当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
所述缓冲区监测模块406可实时对所述缓冲区中日志数据的数据量进行监测,即实时判断所述日志数据的数据量是否满足所述预设容量阈值。
需要说明的是,所述缓冲区监测模块406与第一触发模块402相连,被所述第一触发模块402触发执行。即当所述第一触发模块402触发所述第一线程建立日志文件后,所述缓冲区监测模块406即开始执行实时判断所述数据量,当满足时即触发所述第二线程将所述缓冲区中的当前日志数据写入到所述日志文件中,并重新实时监测所述缓冲区中的日志数据的数据量。另外,在本步骤之后,同样需要对所述缓冲区进行清空,具体方式参见上述清空说明,在此不作赘述。
通过本装置可以避免造成所述日志数据在所述缓冲区中溢出导致的日志数据丢失。
在上述各个装置实施例的基础上,还可以包括:显示模块,用于将所述当前日志文件中的日志数据进行显示。请参阅图7,其示出了本申请提供的一种国产环境下日志文件生成装置又一实施例的结构示意图,在上述装置实施例的基础上,本实施例还可以包括:显示模块501。
所述显示模块501,用于将所述当前日志文件中的日志数据进行显示。
其中,所述显示模块501显示的方式可以是获取所述当前日志文件中的日志数据进行显示,从而用户可以查看到最新的日志数据;也可以是根据用户的显示指令,获取所述当前日志文件之前的与所述显示指令对应的日志文件中的日志数据进行显示,从而用户可以查看到之前某个时间段内的日志数据。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种国产环境下日志文件生成方法及装置进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种国产环境下日志文件的生成方法,其特征在于,包括:
当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程;
触发所述第一线程建立当前日志文件;
以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;
当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长;
以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长;
当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
2.根据权利要求1所述的方法,其特征在于,所述触发所述第二线程将当前日志数据写入到所述当前日志文件中,包括:
触发所述第二线程从缓冲区中获取当前日志数据;
触发所述第二线程将所述当前日志数据写入到当前日志文件中。
3.根据权利要求2所述的方法,其特征在于,预设缓冲区的容量阈值,所述方法还包括:
当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
4.根据权利要求1或3任意一项所述的方法,其特征在于,还包括:
将所述当前日志文件中的日志数据进行显示。
5.一种国产环境下日志文件的生成装置,其特征在于,包括:
创建模块,用于当接收到用户发送的日志文件生成指令时,创建第一线程及第二线程;
第一触发模块,用于触发所述第一线程建立当前日志文件;
第一计时模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;以所述第二线程将当前日志数据写入到所述当前日志文件的时间为起点,重新记录第一当前时间长;
第二计时模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第二当前时间长;当所述第二当前时间长达到所述第二时间阈值的整数倍且达到或超过预设的第一时间阈值时,触发所述第一线程建立新的当前日志文件;以所述第一线程建立新的当前日志文件的时间为起点,重新记录第二当前时间长。
6.根据权利要求5所述的装置,其特征在于,所述第一计时模块包括:
第一计时子模块,用于以所述第一线程建立所述当前日志文件的时间为起点,记录第一当前时间长;
第一触发子模块,用于当所述第一当前时间长达到预设的第二时间阈值时,触发所述第二线程将当前日志数据写入到所述当前日志文件中;触发所述第一计时子模块重新记录第一当前时间长;
其中,所述第一触发子模块包括:
第一触发单元,用于触发所述第二线程从缓冲区中获取当前日志数据;
第二触发单元,用于触发所述第二线程将所述当前日志数据写入到当前日志文件中。
7.根据权利要求6所述的装置,其特征在于,还包括:
预设模块,用于预设缓冲区的容量阈值;
缓冲区监测模块,用于当所述缓冲区的当前日志数据的数据量达到所述容量阈值时,触发所述第二线程将所述缓冲区中的当前日志数据写入到所述当前日志文件中。
8.根据权利要求5或7任意一项所述的装置,其特征在于,还包括:
显示模块,用于将所述当前日志文件中的日志数据进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695510.0A CN103645983B (zh) | 2013-12-17 | 2013-12-17 | 一种日志文件的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695510.0A CN103645983B (zh) | 2013-12-17 | 2013-12-17 | 一种日志文件的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103645983A true CN103645983A (zh) | 2014-03-19 |
CN103645983B CN103645983B (zh) | 2016-05-18 |
Family
ID=50251204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695510.0A Active CN103645983B (zh) | 2013-12-17 | 2013-12-17 | 一种日志文件的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645983B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708578A (zh) * | 2016-12-23 | 2017-05-24 | 北京五八信息技术有限公司 | 基于双线程的日志输出方法及装置 |
CN108062323A (zh) * | 2016-11-08 | 2018-05-22 | 北京国双科技有限公司 | 一种日志读取方法及装置 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN111858536A (zh) * | 2020-08-03 | 2020-10-30 | 聚好看科技股份有限公司 | 一种业务日志传输方法及终端 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1361489A (zh) * | 2000-12-28 | 2002-07-31 | 深圳市中兴通讯股份有限公司 | 一种日志信息的自动循环存储方法和系统 |
US20040225689A1 (en) * | 2003-05-08 | 2004-11-11 | International Business Machines Corporation | Autonomic logging support |
CN1642104A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种系统日志实现方法和装置 |
US20090204645A1 (en) * | 2005-12-26 | 2009-08-13 | Takeo Machida | System, method, program, and system implementation method for transaction process logging |
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和系统 |
CN103309858A (zh) * | 2012-03-06 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种多线程日志管理的方法及装置 |
-
2013
- 2013-12-17 CN CN201310695510.0A patent/CN103645983B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1361489A (zh) * | 2000-12-28 | 2002-07-31 | 深圳市中兴通讯股份有限公司 | 一种日志信息的自动循环存储方法和系统 |
US20040225689A1 (en) * | 2003-05-08 | 2004-11-11 | International Business Machines Corporation | Autonomic logging support |
CN1642104A (zh) * | 2004-01-05 | 2005-07-20 | 华为技术有限公司 | 一种系统日志实现方法和装置 |
US20090204645A1 (en) * | 2005-12-26 | 2009-08-13 | Takeo Machida | System, method, program, and system implementation method for transaction process logging |
CN103176888A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种日志记录的方法和系统 |
CN103309858A (zh) * | 2012-03-06 | 2013-09-18 | 深圳市腾讯计算机系统有限公司 | 一种多线程日志管理的方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062323A (zh) * | 2016-11-08 | 2018-05-22 | 北京国双科技有限公司 | 一种日志读取方法及装置 |
CN108062323B (zh) * | 2016-11-08 | 2021-10-15 | 北京国双科技有限公司 | 一种日志读取方法及装置 |
CN106708578A (zh) * | 2016-12-23 | 2017-05-24 | 北京五八信息技术有限公司 | 基于双线程的日志输出方法及装置 |
CN106708578B (zh) * | 2016-12-23 | 2021-11-09 | 北京五八信息技术有限公司 | 基于双线程的日志输出方法及装置 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN110309158B (zh) * | 2018-04-13 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN111858536A (zh) * | 2020-08-03 | 2020-10-30 | 聚好看科技股份有限公司 | 一种业务日志传输方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN103645983B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102150774B1 (ko) | 단말기 애플리케이션을 로딩하기 위한 방법 및 장치 | |
CN103645983A (zh) | 一种国产环境下日志文件的生成方法及装置 | |
CN105183902B (zh) | 一种文件清理方法、装置及终端 | |
CN108154035B (zh) | 大规模网站漏洞扫描方法、装置及电子设备 | |
WO2019170172A3 (en) | Implementing a blockchain-based workflow | |
CN103092700A (zh) | 内存清理方法、装置和终端设备 | |
CN109033814B (zh) | 智能合约触发方法、装置、设备及存储介质 | |
CN106155844B (zh) | 一种web服务器的自恢复方法和自恢复系统 | |
WO2020232871A1 (zh) | 一种微服务依赖分析方法及装置 | |
CN108446199A (zh) | 一种应用卡顿的检测方法及装置 | |
CN110209654A (zh) | 一种文本文件数据入库方法、系统及电子设备和存储介质 | |
CN105786839A (zh) | 一种应用数据获取方法及装置 | |
CN105148602A (zh) | 提示信息输出方法及装置 | |
CN102999387A (zh) | 进程运行装置及方法 | |
CN104461563A (zh) | 一种在linux下远程定时检测FTP服务器新增文件的方法 | |
CN108304296A (zh) | 一种服务器监控方法、系统、设备及计算机可读存储介质 | |
CN107577798B (zh) | 一种快照创建方法、装置及计算机可读存储介质 | |
CN110162563B (zh) | 一种数据入库方法、系统及电子设备和存储介质 | |
CN111190805A (zh) | 深度学习训练平台的训练日志可视化系统、方法及设备 | |
KR20170136993A (ko) | 시설 관리 장치 | |
CN111475423A (zh) | 数据录入方法、装置、电子设备及可读存储介质 | |
CN103974201B (zh) | 面向移动终端的多媒体数据直播系统和方法 | |
CN103902663A (zh) | 文件同步方法和装置 | |
CN115729680A (zh) | 一种单个容器证书管理方法、装置、存储介质、电子设备 | |
CN113746924B (zh) | 一种电网业务数据跨区传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211206 Address after: 250014 No. 41-1 Qianfo Shandong Road, Lixia District, Jinan City, Shandong Province Patentee after: SHANDONG CIVIC SE COMMERCIAL MIDDLEWARE Co.,Ltd. Address before: 250014 No. 41-1 Qianfo Shandong Road, Lixia District, Jinan City, Shandong Province Patentee before: SHANDONG CVIC SOFTWARE ENGINEERING Co.,Ltd. |
|
TR01 | Transfer of patent right |