CN1265284C - 动态日志记录方法 - Google Patents

动态日志记录方法 Download PDF

Info

Publication number
CN1265284C
CN1265284C CN 02156052 CN02156052A CN1265284C CN 1265284 C CN1265284 C CN 1265284C CN 02156052 CN02156052 CN 02156052 CN 02156052 A CN02156052 A CN 02156052A CN 1265284 C CN1265284 C CN 1265284C
Authority
CN
China
Prior art keywords
time
cycle
recording method
log
journal file
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.)
Expired - Fee Related
Application number
CN 02156052
Other languages
English (en)
Other versions
CN1506805A (zh
Inventor
刘文涵
宋建福
李智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CN 02156052 priority Critical patent/CN1265284C/zh
Publication of CN1506805A publication Critical patent/CN1506805A/zh
Application granted granted Critical
Publication of CN1265284C publication Critical patent/CN1265284C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种动态日志记录方法,其可根据程序运行的周期动态记录日志数据到若干个不同的日志文件中。首先随时间间隔增加而定义多个时间周期;然后,对应多个时间周期而建立多个日志文件;当到任意时间周期时,将该时刻的日志数据写入到时间周期对应的该日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据。本发明所提供的动态日志记录方法,可以保证日志文件总量不会太大,节约了大量的磁盘空间,也提高了资料分析的效率。

Description

动态日志记录方法
技术领域
本发明涉及一种日志的记录方法,尤其涉及一种动态日志的记录方法。
背景技术
为了保证系统正常运行,解决每一天可能遇到的各种各样的问题,记录日志文件是一项非常重要的任务。在很多的应用程序中,系统管理人员都会使用日志的方法来记录程序运行中的各项参数的值,通过读取日志文件查找程序运行中的问题。
传统的日志记录方法是按照时间的推移而顺序进行记录,将程序运行中的参数逐项记录下来,其文件大小随程序运行时间的增长而线性增长。如果用户需要长时间的运行应用程序,日志文件就会无限的膨胀下去,比如在某些测试项目中,用户需要对设备进行长时间的压力测试,测试时间可能是几天,也可能是几周,由于测试指标很多,因而所要记录的数据量也相应很多,所以如果继续使用传统的日志方式的话,所产生的日志文件定会产生大量冗余,从而占用了大量磁盘空间,而过多的日志数据对于用户也很可能是无用的,这样不仅造成了磁盘资源的浪费。而且大大降低了数据分析的效率。
发明内容
本发明所要解决的技术问题为提供一种动态日志的记录方法,根据程序运行的周期动态记录日志到若干个不同的日志文件中。
为实现上述目的,本发明提供一种动态日志记录方法,可根据程序运行的周期动态记录日志数据到日志文件中,至少包括如下步骤:
随时间间隔增加而定义多个时间周期;
对应该多个时间周期而建立多个日志文件;及
每当任意时间周期到时,将该时刻的日志数据写入到时间周期对应的日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据。
为使本发明的目的、特征及其功能有进一步的了解,配合附图详细说明如下:
附图说明
图1为本发明所公开的动态记录日志方法的流程图;
图2为本发明第一实施例动态记录日志方法的流程图;及
图3为本发明第二实施例动态记录日志方法的流程图。
其中,附图标记说明如下:
步骤111--随时间间隔增加而定义多个时间周期,步骤112--对应该多个时间周期而建立多个日志文件,步骤113---每一时间周期到时,将该时刻的日志数据写入到时间周期对应的日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据,步骤211--随时间间隔增加定义两个时间周期,分别为5秒、2分钟,步骤212---对应该两个时间周期建立两个日志文件:时间周期为5秒对应的日志文件为A1;时间周期为2分钟对应的日志文件为A2,步骤213---程序运行时间每经过5秒钟,将该时刻的日志数据写入日志文件A1中;程序运行时间每经过2分钟,将该时刻的日志数据写入到日志文件A2中,,并同时清除日志文件A1中的日志数据,步骤311---随时间间隔增加而定义两个时间周期,分别为5秒、2分钟、半小时,步骤312--对应该三个时间周期而建立三个日志文件:时间周期为5秒钟对应的日志文件为A1;时间周期为2分钟对应的日志文件为A2;时间周期为半小时对应的日志文件为A3,步骤313--程序运行时间每经过5秒钟,则将该时刻的日志数据写入日志文件A1中;程序运行时间每经过2分钟,将该时刻的日志数据写入到日志文件A2中,并同时清除日志文件A1中的日志数据;程序运行时间每经过半小时,将该时刻的日志数据写入到日志文件A3中,并同时清除日志文件A2中的日志数据
具体实施方式
下面结合附图对本发明进行详细说明。
图1是本发明所提供的动态日志记录方法的流程图。一种动态日志记录方法,其可根据程序运行的周期动态记录日志数据到日志文件中,首先,随时间间隔增加而定义多个时间周期(步骤111);然后,对应该多个时间周期而建立多个日志文件(步骤112);每当任意时间周期届满时,将该时刻的日志数据写入到该时间周期对应的该日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据(步骤113)。
在开始记录日志之前,程序员首先应定义时间周期,所谓时间周期是指,将时间平均分为若干个连续的时间段,每一时间段的具体时间称为时间周期。时间周期的长短、时间周期的个数均可根据记录日志的不同需要而定义。
图2是本发明第一实施例动态日志记录方法的流程图。本发明第一实施例随时间间隔增加而定义了两个时间周期:第一时间周期为5秒,第二时间周期为2分钟(步骤211)。为了记录日志,还应建立日志文件。第一时间周期对应的日志文件的文件名为A1;第二时间周期对应的日志文件名为A2(步骤212)。
定义了时间周期,并为其建立了日志文件以后,就可以记录日志了。对于两个时间周期是同时并且单独计时的,即两个时间周期互不影响。当程序运行5秒钟的时候,第一时间周期届满,则在日志文件A1中记录一次此时的日志数据。因为5秒种是第一时间周期,所以不存在前一时间周期,因此更不需要清除前一时间周期的日志数据。程序在连续运行,每经历5秒钟,在A1中记录一次数据,当记录到24次时,程序的运行时间为2分钟,恰好为第二时间周期,则在日志文件A2中记录一次此时的日志数据,同时将A1中的文件清除(步骤213)。日志文件A1中的数据被清除后,再重新记录,每经历5秒,记录一次。时间又到达一次2分钟后,日志文件A2中又记录了一次数据,而A1则又被清空。也就是说,每隔5秒在A1中记录一次数据,每隔2分钟在A2中记录一次数据,同时每隔2分钟A1中的数据被清空一次。这里所说的每隔5秒钟与每隔2分钟都是单独计时的,在应用程序开始运行时就同时并单独计时,而且彼此独立,互不影响。也就是说每经历5秒钟第一周期届满,第一周期届满24次,第二周期届满。这样日志文件A1中就存储了当前2分钟内,每隔5秒钟的日志数据;而日志文件A2则存储了每隔2分钟的日志数据。A1中最多记录24次,而A2中可以随时间的增长而按需要无限记录下去。
图3是本发明第二实施例的动态日志记录方法的流程图。在记录日志之前,要事先定义时间周期。为了使记录的日志更为详细,在此,随时间间隔的增加而定义了三个时间周期,对应的时间分别为5秒、2分钟、和半小时(步骤311)。然后根据不同的时间周期,分别建立相应的日志文件,时间周期为5秒的日志文件为A1、时间周期为2分钟的日志文件为A2、时间周期为半小时的日志文件为A3(步骤312)。随着三个时间周期的届满,分别向三个日志文件中记录数据。每当时间运行5秒时,在日志文件A1中记录一次此时的日志数据;当记录到第24次时,程序运行时间为2分钟,此时第二时间周期届满,则在A2中记录一次此时的数据,同时清空A1中的数据;程序在继续运行,A1被清空以后重新记录,每个5秒中在A1中记录一次,每隔2分钟在A2中记录一次,当在A2中记录的此数达到15次时,此时第三周期届满(2分钟*15=半小时),则在A3中记录一次日志数据,同时将A2中的数据清空(步骤313)。按此规律记录下去,每隔5秒、2分钟、半小时,对应分别在A1、A2、A3中记录一次数据;而每隔2分钟、半小时对应分别清空A1、A2中的数据。所述5秒、2分钟、半小时是分别计时的,每经历5秒钟第一时间周期届满;每经历24个第一时间周期(5秒钟),到达第二个时间周期(2分钟),即第二时间周期届满;每经历15个第二时间周期,到达第三时间周期(半小时),即第三时间周期届满。A1中最多记录24次,A2中最多记录15次,而A3中可以按需要而无限记录下去。这样日志文件A1中存储了当前2分钟内每隔5秒钟的数据、A2中存储了当前半小时内每隔2分钟的数据、A3中存储了每隔半小时各项参数的值。这样设计的记录日志方法,所得到的数据,是以半小时为单位的所有采样,最近半小时内以2分钟为单位的采样,以及最近2分钟内以5秒钟为单位的采样。这样不但能保证日志文件不会很大,同时,所得到的数据也相对精确了很多,从而可以得到更好的分析效果。而不是按照时间的推移顺序记录,因此是日志的记录更为有效。
另外,还有一点需要注意,如果整个循环的周期较长,应在循环内部时常判断一下运行信号是否为真,在所述时间周期届满前,每经过一时间间隔判断一次运行信号的值。该时间间隔最好小于该第一时间周期5秒,因为在记录日志的时候,最短的时间段是在5秒钟记录一次,其中有5秒种的延时。在这5秒钟的延时内判断一下运行信号,可以防止由于响应时间太久,以至于用户认为程序死锁。
在上述记录日志的过程中,用户可以根据需要在记录过程中加入一个计算平均值的步骤,计算前一时间周期所对应的日志文件中日志数据的平均值,而将该平均值写到下一时间周期的日志文件中。因为第一时间周期不存在前一时间周期,所以A1中记录的还是每5秒钟该时刻的各项参数的值,而A2、A3中则分别记录有每2分钟、半小时内各项日志数据的平均值。即A2中记录的数据均为每次将A1清除前而计算出A1中的各项数据的平均值;A3中记录的数据均为每次将A2清除前而计算出A2中的各项数据的平均值。这样使记录数据的值为某一时间段的平均值,整个记录过程又得到了进一步优化,因而使所得到的数据也更加精确。当然如果用户不希望记录参数的平均值,而只是希望记录其某一时刻的值,这一步骤则可以省略。
达到的功能效果
本发明提供的动态日志的记录方法,可根据程序运行的周期动态,将日志记录到若干个不同的日志文件中,使所得到的数据所定义的时间周期为单位的所有采样,从而可以保证日志文件总不会太大,节约了大量的磁盘空间。而且,由于采用了这种方法,使得用户查询相关数据的效率大大提高,用户可根据不同的需要,查看不同时间单位的日志文件,以获得有用的信息,提高数据分析的效率。
虽然本发明以前述之较佳实施例揭露如上,然其并非用以限定本发明,任何熟习相像技艺者,在不脱离本发明之精神和范围内,当可作些许之更动与润饰,因此本发明的保护范围应当以权利要求书要求保护的范围为准。

Claims (7)

1、一种动态日志记录方法,可根据程序运行的周期动态记录日志数据到日志文件中,至少包括如下步骤:
随时间间隔增加定义多个时间周期;
对应多个时间周期而建立多个日志文件;及
每当任意时间周期到时,将该时刻的日志数据写入到时间周期对应的日志文件中,并同时清除前一时间周期对应的日志文件中的日志数据。
2、如权利要求1所述的动态日志记录方法,其中还包括一将前一时间周期所对应的日志文件中的日志数据取平均值,将该平均值写入到时间周期对应的日志文件中的步骤。
3、如权利要求1所述的动态日志记录方法,其中前一时间周期是指邻近本时间周期之前的一时间周期。
4、如权利要求3所述的动态日志记录方法,其中如果本时间周期为第一时间周期,则前一时间周期不存在,相应的清除前一时间周期对应的日志文件中的日志数据步骤也不存在。
5、如权利要求1所述的动态日志记录方法,其中该多个时间周期为单独并同时计时的。
6、如权利要求1所述的动态日志记录方法,其中在所述该任意时间周期届满前,每经过一时间间隔判断一次运行信号的值。
7、如权利要求6所述的动态日志记录方法,其中该时间间隔小于第一时间周期。
CN 02156052 2002-12-13 2002-12-13 动态日志记录方法 Expired - Fee Related CN1265284C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02156052 CN1265284C (zh) 2002-12-13 2002-12-13 动态日志记录方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02156052 CN1265284C (zh) 2002-12-13 2002-12-13 动态日志记录方法

Publications (2)

Publication Number Publication Date
CN1506805A CN1506805A (zh) 2004-06-23
CN1265284C true CN1265284C (zh) 2006-07-19

Family

ID=34236112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02156052 Expired - Fee Related CN1265284C (zh) 2002-12-13 2002-12-13 动态日志记录方法

Country Status (1)

Country Link
CN (1) CN1265284C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100361091C (zh) * 2005-01-31 2008-01-09 华为技术有限公司 日志信息管理方法及系统
CN100372307C (zh) * 2005-06-02 2008-02-27 华为技术有限公司 一种系统日志管理方法
CN101677445A (zh) * 2008-09-16 2010-03-24 中兴通讯股份有限公司 一种业务系统日志文件的清理方法及系统
CN101459557B (zh) * 2008-11-29 2011-02-02 成都市华为赛门铁克科技有限公司 一种安全日志集中存储方法及装置
CN101753971B (zh) * 2008-12-22 2012-05-16 中兴通讯股份有限公司 一种统一视讯管理平台中内容管理系统中的日志系统及日志记录方法
CN101557291B (zh) * 2009-05-25 2011-09-28 杭州华三通信技术有限公司 日志聚合的方法和装置
CN109309579B (zh) * 2018-01-30 2021-09-14 深圳壹账通智能科技有限公司 日志记录处理方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN1506805A (zh) 2004-06-23

Similar Documents

Publication Publication Date Title
KR100337748B1 (ko) 데이터 처리 시스템 및 애플리케이션의 구조화된 메모리 분석 방법 및 장치
US8185880B2 (en) Optimizing heap memory usage
KR100338223B1 (ko) 데이터 처리 시스템 및 애플리케이션의 구조화된 프로파일링 방법 및 장치
US5067107A (en) Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files
US6338159B1 (en) System and method for providing trace information
CN100440163C (zh) 对计算机程序进行运行时分析的方法和系统
CN100517249C (zh) 一种捕获导致内存被野指针改写的函数的方法
US7634496B1 (en) Techniques for managing state changes of a data storage system utilizing the object oriented paradigm
CA2167307A1 (en) Method and structure for evaluating and enhancing the performance of cache memory systems
US20060130001A1 (en) Apparatus and method for call stack profiling for a software application
CN1466057A (zh) 一种软件内存泄露的检查方法
US7131032B2 (en) Method, system, and article of manufacture for fault determination
CN1265284C (zh) 动态日志记录方法
CA2442188A1 (en) Methods and mechanisms for proactive memory management
US20070150870A1 (en) Method and apparatus for context oriented computer program tracing and visualization
US20060150162A1 (en) Adaptive and dynamic filtering of threaded programs
CN108885579A (zh) 用于根据核追踪进行数据挖掘的方法和设备
Pan et al. predis: Penalty and locality aware memory allocation in redis
CN1291322C (zh) 一种故障录波数据双通道同步记录和存储的方法及其装置
CN117156172B (zh) 视频切片上报方法、系统、存储介质及计算机
CN103236938A (zh) 一种基于缓存及异步处理技术的用户行为采集方法及系统
CN108984422B (zh) 一种基于ntfs和fat32文件系统簇管理节省内存的方法
CN115269289A (zh) 一种慢盘检测方法、装置、电子设备及存储介质
CN112100032B (zh) 一种嵌入式设备日志输出记录方法及系统
CN101551782A (zh) 动态地重新组织存储器中的数据对象的装置和方法

Legal Events

Date Code Title Description
C06 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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060719

Termination date: 20101213