CN109885539A - 一种日志文件管理方法 - Google Patents
一种日志文件管理方法 Download PDFInfo
- Publication number
- CN109885539A CN109885539A CN201910079023.9A CN201910079023A CN109885539A CN 109885539 A CN109885539 A CN 109885539A CN 201910079023 A CN201910079023 A CN 201910079023A CN 109885539 A CN109885539 A CN 109885539A
- Authority
- CN
- China
- Prior art keywords
- file
- log
- information
- journal file
- journal
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 238000004321 preservation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Abstract
本发明公开了一种日志文件管理方法,该方法步骤为:将信息根据重要性分为4个级别;开启日志文件管理;读取当前目录下日志文件个数并做相应处理;逐个读取文件大小以找到适合写入信息的日志文件并保存路径;根据信息的不同级别选择不同的输出格式并根据保存的路径打开文件;再次判断当前文件大小并做相应处理;读取目录下文件个数并做相应处理,确保日志文件个数不超过最大个数;将信息按照一定的格式写入已打开的日志文件;关闭文件,本发明能够根据信息的不同类型进行分类,同时可以人为设置日志文件允许的最大数量,从而使得日志文件达到一个动态平衡,极大程度提高了开发人员的纠错效率以及硬盘空间的实际利用率。
Description
技术领域
本发明属于工程项目开发领域,具体涉及一种日志文件管理方法。
背景技术:
随着国民经济和社会信息化水平的提高,各行业对软件行业产品和服务的需求增速达到一个前所未有的水平。软件开发行业,充满生活中的每个角落,比如公交车打卡系统,医院里的很多设备、手机应用等等,几乎我们能看到的东西都与软件有关。随着硬件的不断升级和新技术的采用,最新的技术编程趋势将带来更广泛的功能并提高软件部署的速度。改进的效率,友好的用户界面和定制是推动这些编程技术发生变化的一些因素。然而,一个完善的系统需要健硕的代码来支撑,代码量十分庞大,但是系统用久了偶尔也会出现一些错误,对于一些不可见的错误可能会使系统发生故障,长时间的积累甚至可能使整个系统直接瘫痪,这使得项目开发期间的测试和后期产品的维护变得相当困难。
发明内容
本发明的目的在于提供一种日志文件管理方法,以解决现有技术中大量杂乱的日志信息在系统出错定位问题时造成的巨大困难,同时随着时间的推移,这些杂乱的信息会一直累积甚至占据相当一部分的存储空间,使得硬盘的实际利用率低下的问题。
一种日志文件管理方法,所述方法包括以下步骤:
对日志文件进行筛选,保存大小不超过文件阈值的日志文件路径;
将路径中的日志文件信息写入日志空间中,并监控写入的文件个数;
当文件个数达到或超过空间阈值时实施清理方法。
优选的,所述方法还包括:
对日志文件进行筛选前,根据日志信息进行分级处理,不同日志信息,采取不同的输出格式。
优选的,所述日志信息的类型包括ERROR、WARNING、INFO和DEBUG。
优选的,所述日志空间的大小为X,空间阈值为N,所述文件阈值的计算方法为:
M=X/N。
优选的,当日志文件大小超过文件阈值时,则以当前系统时间为文件名新建一个新的日志文件,并保存该日志文件路径。
优选的,所述清理方法包括以下步骤:
根据日志文件的生成时间删除最早新建的日志文件。
本发明的优点在于:该方法能够对信息进行分级处理,提高了问题定位的有效性精准性。对日志文件进行动态管理,同时还能根据开发项目的类型和硬件支持的存储空间,人为设置日志文件的最大允许个数和每个文件的最大值,有效提高硬盘的利用率和该方法的兼容性。
附图说明
图1为本发明的方法流程示意图。
图2是本发明技术方案中新建文件的示意图。
图3是本发明技术方案中写入日志文件信息格式的示意图。
图4是本发明实例中日志文件情况的示意图(N=5,M=11kB)。
图5是本发明实例中自动删除并新建日志文件的示意图(结合图4对比)。
图6是本发明实例中日志信息文件具体内容的示意图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
本方法技术方案包括以下几个部分:
(1)信息分级
在开发的系统处于测试阶段时,需要排除故障,移除隐含错误,因此每次测试完成之后查看系统运行的日志至关重要。为了方便查找信息并准确定位错误,通过C语言中的宏定义,可以将信息分为四个类型,分别是ERROR、WARNING、INFO、DEBUG,不同类型的信息所属级别也不同,级别越高对系统运行影响越大,详见表1。
表1信息分级
信息类型 | 信息级别 | 信息内容 |
ERROR | 4 | 错误信息 |
WARNING | 3 | 告警信息 |
INFO | 2 | 有用信息 |
DEBUG | 1 | 调试信息 |
(2)确定写入的日志文件路径
为了提高信息的利用率,考虑将1个日志文件分为若干个较小的日志文件进行管理。假设分配给存放日志文件的空间大小为X,允许的最大日志文件数量为N,则每个日志文件允许的大小为:
M=X/N (1)
进入文件目录,读取当前目录下的日志文件个数n,同时逐一读取日志文件的大小m,这两者需要满足一定的大小关系,分别为:
n≤N (2)
m≤M (3)
公式(2)表示当前日志文件个数不能超过允许的最大文件个数,公式(3)表示当前读取的日志文件大小不能超过允许的文件大小。一旦满足公式(3)则停止读取文件,当前所读文件即为接下去要存放信息的文件。
(3)文件新建与删除
在信息持续不断的产生下,公式(3)中的不等关系首先不满足,即当前正在写入的日志文件的大小超过了最大值,则需要新建一个日志文件,为了方便后续的删除操作,以当前系统时间来命名文件,如图2所示。
在一次次文件新建之后,日志文件个数n会逐渐增大,直到公式(2)中的不等关系不满足,即日志文件个数超过最大值,则需要删除1个最早新建的文件。通过逐一读取文件名(即新建文件的时间),比较将最早新建的文件删除,则当前日志文件个数满足公式(2)。
(4)日志信息写入文件
打开部分(2)中确定的文件,根据不同的类型将信息按照以下格式写入日志文件中:
【写入时间】+【进程识别码(线程ID)】+【信息类型】+【当前运行的文件路径(信息所处行数):信息所处函数的名称】+信息具体内容。
所述方法的具体步骤为:
步骤一:
第1步:将信息根据重要性分为4个级别。
第2步:设置存放日志文件的空间大小X以及允许的最大日志文件数量N。
第3步:开启日志文件管理。
第4步:进入存放日志文件的目录,若无文件则根据技术方案(3)新建1个日志文件并保存该文件的路径。
第5步:读取目录下文件个数n并判断,满足公式(2)则逐一读取日志文件大小m。
第6步:判断日志文件大小m,若m不满足公式(3)则重复第4步;若m满足公式(3)则保存当前文件的路径。
步骤二:
第7步:打开第4步或第6步中保存的文件路径。
第8步:根据信息的不同级别选择不同的输出格式。
第9步:读取当前打开文件的大小m′并判断,不满足公式(3)则关闭文件,根据技术方案(3)新建1个日志文件并保存该文件的路径;满足公式(3)则保存当前文件的路径。
第10步:再次读取目录下的文件个数n′并判断,不满足公式(2)则根据技术方案(3)删除最早新建的文件。
步骤三:
第11步:打开第9步中保存的文件路径。
第12步:将日志信息写入文件。
第13步:关闭第11步中打开的文件。
第14步:打开最近保存的文件路径,重复8-13步完成一次日志信息的写入。
本发明的专利点在于步骤一、步骤二。任何对于步骤一、步骤二的使用,都在本发明的保护领域之内。凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种日志文件管理方法,其特征在于,所述方法包括以下步骤:
对日志文件进行筛选,保存大小不超过文件阈值的日志文件路径;
将路径中的日志文件信息写入日志空间中,并监控写入的文件个数;
当文件个数达到或超过空间阈值时实施清理方法。
2.根据权利要求1所述的一种日志文件管理方法,其特征在于:所述方法还包括:
对日志文件进行筛选前,根据日志信息进行分级处理,不同日志信息,采取不同的输出格式。
3.根据权利要求2所述的一种日志文件管理方法,其特征在于:所述日志信息的类型包括ERROR、WARNING、INFO和DEBUG。
4.根据权利要求3所述的一种日志文件管理方法,其特征在于:所述日志空间的大小为X,空间阈值为N,所述文件阈值的计算方法为:
M=X/N。
5.根据权利要求1所述的一种日志文件管理方法,其特征在于:当日志文件大小超过文件阈值时,则以当前系统时间为文件名新建一个新的日志文件,并保存该日志文件路径。
6.根据权利要求1所述的一种日志文件管理方法,其特征在于:所述清理方法包括以下步骤:
根据日志文件的生成时间删除最早新建的日志文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910079023.9A CN109885539A (zh) | 2019-01-28 | 2019-01-28 | 一种日志文件管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910079023.9A CN109885539A (zh) | 2019-01-28 | 2019-01-28 | 一种日志文件管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109885539A true CN109885539A (zh) | 2019-06-14 |
Family
ID=66927014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910079023.9A Pending CN109885539A (zh) | 2019-01-28 | 2019-01-28 | 一种日志文件管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885539A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485965A (zh) * | 2021-06-22 | 2021-10-08 | 西安震有信通科技有限公司 | 基于文件大小动态清理日志文件方法、装置、服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467516A (zh) * | 2010-11-04 | 2012-05-23 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 设备控制过程中的日志记录方法、装置及系统 |
CN105940396A (zh) * | 2013-12-27 | 2016-09-14 | 谷歌公司 | 分布式存储系统中对象的层级组块 |
CN107526674A (zh) * | 2017-08-31 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种嵌入式系统日志记录的方法与装置 |
-
2019
- 2019-01-28 CN CN201910079023.9A patent/CN109885539A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467516A (zh) * | 2010-11-04 | 2012-05-23 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 设备控制过程中的日志记录方法、装置及系统 |
CN105940396A (zh) * | 2013-12-27 | 2016-09-14 | 谷歌公司 | 分布式存储系统中对象的层级组块 |
CN107526674A (zh) * | 2017-08-31 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种嵌入式系统日志记录的方法与装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485965A (zh) * | 2021-06-22 | 2021-10-08 | 西安震有信通科技有限公司 | 基于文件大小动态清理日志文件方法、装置、服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440201B (zh) | 动态污点分析装置及其在文件格式逆向解析中的应用 | |
CN103246595B (zh) | 应用程序管理方法、装置、服务器及终端设备 | |
US20130006996A1 (en) | Clustering E-Mails Using Collaborative Information | |
CN102591864B (zh) | 比对系统中的数据更新方法及装置 | |
CN108319711A (zh) | 数据库的事务一致性测试方法、装置、存储介质及设备 | |
US8140555B2 (en) | Apparatus, system, and method for dynamically defining inductive relationships between objects in a content management system | |
US8583662B2 (en) | Managing data across a plurality of data storage devices based upon collaboration relevance | |
CN102467525A (zh) | 单据关联方法及系统 | |
CN104182302A (zh) | 数据库备份方法及装置 | |
CN106326129A (zh) | 一种程序异常信息生成方法及装置 | |
CN105302488B (zh) | 一种存储系统的数据写入方法及系统 | |
CN110597821B (zh) | 数据仓库表结构变更方法及装置 | |
CN102902606A (zh) | 一种数据备份方法及装置 | |
CN109885539A (zh) | 一种日志文件管理方法 | |
CN103176867A (zh) | 一种快速文件差异备份方法 | |
CN112241396B (zh) | 基于Spark的对Delta进行小文件合并的方法及系统 | |
CN106126487A (zh) | 一种日志文件拆分方法及装置 | |
CN111369302A (zh) | 实时生成积分的方法、系统及计算机可读存储介质 | |
US20230053698A1 (en) | Method and system for managing life cycle iteration of test case, and medium | |
CN112632266B (zh) | 数据写入方法、装置、计算机设备及可读存储介质 | |
CN102004761B (zh) | 数据存储方法和系统 | |
CN111143302B (zh) | 一种追踪Office文档内容变更的方法及装置 | |
CN107491363A (zh) | 一种基于Linux内核的存储卷的快照方法及装置 | |
CN110019117A (zh) | 一种数据归档方法及装置 | |
CN110532391A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190614 |