CN1506805A - 动态日志记录方法 - Google Patents
动态日志记录方法 Download PDFInfo
- Publication number
- CN1506805A CN1506805A CNA021560528A CN02156052A CN1506805A CN 1506805 A CN1506805 A CN 1506805A CN A021560528 A CNA021560528 A CN A021560528A CN 02156052 A CN02156052 A CN 02156052A CN 1506805 A CN1506805 A CN 1506805A
- Authority
- CN
- China
- Prior art keywords
- time
- journal
- cycle
- recording method
- 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.)
- Granted
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中最多记录14次,而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所述的动态日志记录方法,其中该时间间隔小于第一时间周期。
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 true CN1506805A (zh) | 2004-06-23 |
CN1265284C 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) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361091C (zh) * | 2005-01-31 | 2008-01-09 | 华为技术有限公司 | 日志信息管理方法及*** |
CN100372307C (zh) * | 2005-06-02 | 2008-02-27 | 华为技术有限公司 | 一种***日志管理方法 |
WO2010031302A1 (zh) * | 2008-09-16 | 2010-03-25 | 中兴通讯股份有限公司 | 一种业务***日志文件的清理方法及*** |
CN101459557B (zh) * | 2008-11-29 | 2011-02-02 | 成都市华为赛门铁克科技有限公司 | 一种安全日志集中存储方法及装置 |
CN101557291B (zh) * | 2009-05-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 日志聚合的方法和装置 |
CN101753971B (zh) * | 2008-12-22 | 2012-05-16 | 中兴通讯股份有限公司 | 一种统一视讯管理平台中内容管理***中的日志***及日志记录方法 |
CN109309579A (zh) * | 2018-01-30 | 2019-02-05 | 深圳壹账通智能科技有限公司 | 日志记录处理方法、装置、计算机设备和存储介质 |
-
2002
- 2002-12-13 CN CN 02156052 patent/CN1265284C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361091C (zh) * | 2005-01-31 | 2008-01-09 | 华为技术有限公司 | 日志信息管理方法及*** |
CN100372307C (zh) * | 2005-06-02 | 2008-02-27 | 华为技术有限公司 | 一种***日志管理方法 |
WO2010031302A1 (zh) * | 2008-09-16 | 2010-03-25 | 中兴通讯股份有限公司 | 一种业务***日志文件的清理方法及*** |
CN101459557B (zh) * | 2008-11-29 | 2011-02-02 | 成都市华为赛门铁克科技有限公司 | 一种安全日志集中存储方法及装置 |
CN101753971B (zh) * | 2008-12-22 | 2012-05-16 | 中兴通讯股份有限公司 | 一种统一视讯管理平台中内容管理***中的日志***及日志记录方法 |
CN101557291B (zh) * | 2009-05-25 | 2011-09-28 | 杭州华三通信技术有限公司 | 日志聚合的方法和装置 |
CN109309579A (zh) * | 2018-01-30 | 2019-02-05 | 深圳壹账通智能科技有限公司 | 日志记录处理方法、装置、计算机设备和存储介质 |
CN109309579B (zh) * | 2018-01-30 | 2021-09-14 | 深圳壹账通智能科技有限公司 | 日志记录处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1265284C (zh) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8185880B2 (en) | Optimizing heap memory usage | |
CN1248114C (zh) | 一种软件内存泄露的检查方法 | |
KR100338223B1 (ko) | 데이터 처리 시스템 및 애플리케이션의 구조화된 프로파일링 방법 및 장치 | |
CN100440163C (zh) | 对计算机程序进行运行时分析的方法和*** | |
CN100461197C (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 | |
CA2442188A1 (en) | Methods and mechanisms for proactive memory management | |
CN102799514A (zh) | 一种日志记录管理方法和*** | |
US20070150870A1 (en) | Method and apparatus for context oriented computer program tracing and visualization | |
CN1265284C (zh) | 动态日志记录方法 | |
CN115344505B (zh) | 一种基于感知分类的内存访问方法 | |
CN101546364A (zh) | 一种对存储介质进行自动化智能取证的方法及其*** | |
CN1291322C (zh) | 一种故障录波数据双通道同步记录和存储的方法及其装置 | |
CN109542341B (zh) | 一种读写io监测方法、装置、终端及计算机可读存储介质 | |
CN117156172B (zh) | 视频切片上报方法、***、存储介质及计算机 | |
CN103236938A (zh) | 一种基于缓存及异步处理技术的用户行为采集方法及*** | |
CN1717730A (zh) | 电力故障恢复方法 | |
CN108984422B (zh) | 一种基于ntfs和fat32文件***簇管理节省内存的方法 | |
CN113434296B (zh) | 缓存回刷方法、装置、电子设备及存储介质 | |
CN101582816A (zh) | 一种家庭网关及其诊断维护信息的收集***及方法 | |
CN115269289A (zh) | 一种慢盘检测方法、装置、电子设备及存储介质 | |
CN112100032B (zh) | 一种嵌入式设备日志输出记录方法及*** | |
CN1211798C (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 |