CN103744890B - 日志分离方法及装置 - Google Patents

日志分离方法及装置 Download PDF

Info

Publication number
CN103744890B
CN103744890B CN201310718417.7A CN201310718417A CN103744890B CN 103744890 B CN103744890 B CN 103744890B CN 201310718417 A CN201310718417 A CN 201310718417A CN 103744890 B CN103744890 B CN 103744890B
Authority
CN
China
Prior art keywords
log information
information
daily record
log
exploitation
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
Application number
CN201310718417.7A
Other languages
English (en)
Other versions
CN103744890A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201310718417.7A priority Critical patent/CN103744890B/zh
Publication of CN103744890A publication Critical patent/CN103744890A/zh
Application granted granted Critical
Publication of CN103744890B publication Critical patent/CN103744890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Abstract

本发明公开了一种日志分离方法及装置,该日志分离方法,包括:获取混合的日志信息;获取日志分类规则;根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息。本发明实施例的日志分离方法及装置,获取混合的日志信息,获取日志分类规则,根据分类规则从混合的日志信息中提取出用户日志信息和开发日志信息,从而区分用户日志信息与开发日志信息。

Description

日志分离方法及装置
技术领域
本发明涉及计算机领域,尤其涉及一种日志分离方法及装置。
背景技术
在计算机系统中日志是错误诊断和状态追踪的依据,计算机系统中,存在大量的日志输出相关的代码。在实际开发中,常注入大量日志输出代码,但是输出日志信息将各种日志信息混合在一起,不便于用户查看。
因此,如何区分用户日志信息与开发日志信息,是当前需要解决的技术问题。
发明内容
本发明实施例提供一种日志分离方法及装置,能够分离出用户日志信息和开发日志信息。
本发明实施例采用如下技术方案:
一种日志分离方法,包括:
获取混合的日志信息;
获取日志分类规则;
根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息。
可选的,所述根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息之后,还包括:
根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;
根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
可选的,所述日志分类规则包括:按标签分类和/或按关键字分类。
可选的,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
可选的,所述用户日志信息包括:登录信息和/或可读的错误信息;
所述开发日志信息包括用于调试和记录应用程序运行状态的日志信息。
可选的,所述按关键字分类包括:
根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;
根据预设的第二关键字,从所述混合的日志信息中提取所述开发信息。
一种日志分离装置,包括:
第一获取单元,用于获取混合的日志信息;
第二获取单元,用于获取日志分类规则;
提取单元,用于根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息。
可选的,还包括:
第一过滤单元,用于根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;
第二过滤单元,用于根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
可选的,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
可选的,所述日志分类规则包括按关键字分类,所述按关键字分类包括:
所述提取单元具体用于根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息。
基于上述方案,本发明实施例的日志分离方法及装置,获取混合的日志信息,获取日志分类规则,根据分类规则从混合的日志信息中提取出用户日志信息和开发日志信息,从而区分用户日志信息与开发日志信息。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种日志分离方法的流程图;
图2为本发明实施例2提供的另一种日志分离方法的流程图;
图3为本发明实施例3提供的一种日志分离装置的结构示意图;
图4为本发明实施例4提供的另一种日志分离装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本实施例提供一种日志分离方法,包括:
11、获取混合的日志信息;
12、获取日志分类规则;
13、根据所述分类规则从混合的日志信息中提取出用户日志信息和开发日志信息。
可选的,所述根据所述分类规则从混合的日志信息中提取出用户日志信息和开发日志信息之后,还包括:
根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
其中,第一预设规则、第二预设规则可以预先设置,例如设置用户日志信息的黑名单、白名单,保留符合白名单的用户日志信息,滤除符合黑名单的用户日志信息;设置开发信息的黑名单、白名单,保留符合白名单的开发信息,滤除符合黑名单的开发信息。
可选的,所述日志分类规则包括:按标签分类、或按关键字分类、或按标签分类和按关键字分类。
可选的,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
可选的,所述用户日志信息包括:登录信息和/或可读的错误信息;
所述开发日志信息包括用于调试和记录应用程序运行状态的日志信息。
可选的,所述按关键字分类包括:
根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;根据预设的第二关键字,从所述混合的日志信息中提取所述开发信息。
本实施例的方法,获取混合的日志信息,获取日志分类规则,根据分类规则从混合的日志信息中提取出用户日志信息和开发日志信息,从而区分用户日志信息与开发日志信息。
实施例2
如图2所示,本实施例提供一种日志分离方法,包括:
21、按照应用的日志信息,设定分类规则;
22、根据分类规则,将从混合的日志信息中分别提取用户日志和开发日志;
23、针对用户日志和开发日志分别使用白黑名单规则进一步完善和过滤。
其中,所述步骤21中分类规则是指:根据用户要求,设定用户日志和开发日志的分类规则,具体包括标签分类和关键字分类。
其中,所述步骤22中的混合日志信息包括:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、其它自定义日志信息的混合,所述混合日志信息可以存储在不同文件中。
其中,所述步骤22中的用户日志信息具体是指用户希望关心的日志信息,如登录信息、可读的错误信息。
其中,所述步骤22中的开发日志信息具体是指程序员用于调试和记录应用程序运行状态的日志信息。
其中,所述步骤23中的白黑名单具体包括:用户和开发人员自定义的特殊日志信息,用户日志的黑名单中标记的是需要滤除的用户日志,白名单中标记的是需要增加到用户日志中的混合日志信息。而开发日志的黑名单中标记的是需要滤除的用户日志,白名单中标记的是需要增加到开发日志中的混合日志信息。
其中,所述标签分类包括:开发人员定义的标签,开发人员根据日志内容在每一条日志的指定位置(如头部)增加了标签信息。应用程序的在日志输出时,可能根据标签选择输出到不同的文件,并且标签不显示在日志中。
其中,所述关键字分类包括:如果日志中包含用户特定的一个或多个关键字,将决定该日志信息的是否归属到用户日志中。同样,如果日志中包含开发人员特定的一个或多个关键字,将决定该日志信息的是否归属到开发日志中。
下面以Linux系统日志为例进行说明,在Linux中,系统输出了大量日志信息,包括设备状态日志、异常访问日志、登录日志、内核错误日志、内核信息、内核调试、内核警告等,该部分日志组成了本发明中提到的混合日志。
而在具体的一个日志中,还存在各种日志的混合,以内核警告的日志举例,内核开发人员使用printk(KERN_ALERT……)可以输出内核的警告日志,将被输出至/var/log/message文件中。不同的内核模块开发人员使用KERN_ALERT参数输出的开发日志均混合在一起,不便于直接查看,同时,系统还会为其增加一些相关日志并输出至其它日志文件中。
本发明例首先,用户和开发人员可以定义和修改默认的分类规则,从混合日志中分离出开发日志和用户日志。以一个新的模块A使用printk(KERN_ALERT……)输出警告日志和错误信息,其中包含的主要日志信息如下:
“Kernel2.6.35-test start successfully!”
“Start to install a module with name=%s!”
“Module A installed successfully!”
“Module A open%s file failed,error=%d.”
“Module A open%s file successfully.”
“Module A unknown error(%d)occurred.”
“Module A status%d received.\n!”
“Module A finished its initialize job.\n!”
“Module A removed successfully!”
……
则发明实施例中,规则维护模块210维护分类规则,其中用户日志分类规则为:
所含日志信息必须包含“Module A”,并且不带输出参数。
而开发日志的分类规则为:
所有日志信息必须包含“Module A”。
规则维护模块220在上述分类规则的基础上,初步分离出的用户日志主要为:
“Module A installed successfully!”
“Module A finished its initialize job.\n!”
“Module A removed successfully!”
……
初步分离出的开发日志主要为:
“Module A installed successfully!”
“Module A open%s file failed,error=%d.”
“Module A open%s file successfully.”
“Module A unknown error(%d)occurred.”
“Module A status%d received.\n!”
“Module A finished its initialize job.\n!”
“Module A removed successfully!”
……
在上述基础上,白黑名单优化模块230则主要负责对初步分离的日志进行优化。假定用户日志的黑名单中包含:
“Module A finished its initialize job.\n!”
用户日志的白名单中包含:
“Module A open%s file successfully.”
开发日志的黑名单中包含:
“Module A installed successfully!”
“Module A removed successfully!”
开发日志的白名单中包含:
“Start to install a module with name=%s!”
则经过白黑名单优化模块230优化后的用户日志为:
“Module A installed successfully!”
“Module A open%s file successfully.”
“Module A removed successfully!”
……
优化后的开发日志为:
“Start to install a module with name=%s!”
“Module A open%s file failed,error=%d.”
“Module A open%s file successfully.”
“Module A unknown error(%d)occurred.”
“Module A status%d received.\n!”
“Module A finished its initialize job.\n!”
……
上述实施例中的%s、%d为printk中的格式符,在具体的实施例中表现为具体的文件名字或整型参数。
本实施例的方法,根据设定的规则,从混合日志中自动分离用户日志和开发日志,并进一步根据百合名单对分离的日志进行优化,提高用户查看的日志的可读性,提高开发人员查看日志的效率,提高错误诊断效率。
实施例3
如图3所示,本实施例提供一种日志分离装置,包括:
第一获取单元31,用于获取混合的日志信息;
第二获取单元32,用于获取日志分类规则;
提取单元33,用于根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息。
可选的,如图4所示,还包括:
第一过滤单元34,用于根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;
第二过滤单元35,用于根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
可选的,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
可选的,所述日志分类规则包括按关键字分类,所述按关键字分类包括:
所述提取单元具体用于根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息。
本发明实施例的节点可以实现上述对应的方法实施例,详细实现过程,请参阅上述方法实施例,此处不赘述。
本实施例的装置,获取混合的日志信息,获取日志分类规则,根据分类规则从混合的日志信息中提取出用户日志信息和开发日志信息,从而区分用户日志信息与开发日志信息。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种日志分离方法,其特征在于,包括:
获取混合的日志信息;
获取日志分类规则;
根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息;
其中,所述日志分类规则包括:按标签分类和/或按关键字分类;
所述标签分类包括:开发人员定义的标签,开发人员根据日志内容在每一条日志的指定位置增加了标签信息,应用程序在日志输出时,根据标签选择输出到不同的文件,并且标签不显示在日志中;
所述关键字分类包括:如果日志中包含用户特定的一个或多个关键字,将决定该日志信息的是否归属到用户日志中;如果日志中包含开发人员特定的一个或多个关键字,将决定该日志信息的是否归属到开发日志中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息之后,还包括:
根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;
根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
3.根据权利要求1所述的方法,其特征在于,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
4.根据权利要求1所述的方法,其特征在于,所述用户日志信息包括:登录信息和/或可读的错误信息;
所述开发日志信息包括用于调试和记录应用程序运行状态的日志信息。
5.根据权利要求1所述的方法,其特征在于,所述按关键字分类包括:
根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;
根据预设的第二关键字,从所述混合的日志信息中提取所述开发日志信息。
6.一种日志分离装置,其特征在于,包括:
第一获取单元,用于获取混合的日志信息;
第二获取单元,用于获取日志分类规则;
提取单元,用于根据所述分类规则从所述混合的日志信息中提取出用户日志信息和开发日志信息;
其中,所述日志分类规则包括:按标签分类和/或按关键字分类;
所述标签分类包括:开发人员定义的标签,开发人员根据日志内容在每一条日志的指定位置增加了标签信息,应用程序在日志输出时,根据标签选择输出到不同的文件,并且标签不显示在日志中;
所述关键字分类包括:如果日志中包含用户特定的一个或多个关键字,将决定该日志信息的是否归属到用户日志中;如果日志中包含开发人员特定的一个或多个关键字,将决定该日志信息的是否归属到开发日志中。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一过滤单元,用于根据第一预设过滤规则对所述用户日志信息进行过滤,保留符合所述第一预设过滤规则的用户日志信息;
第二过滤单元,用于根据第二预设过滤规则对所述开发日志信息进行过滤,保留符合所述第二预设过滤规则的开发日志信息。
8.根据权利要求6所述的装置,其特征在于,所述混合的日志信息包括以下至少一种:应用输出的调试信息、错误信息、审计信息、安全信息、登录日志信息、操作日志信息、根据用户指令确定的自定义日志信息。
9.根据权利要求6所述的装置,其特征在于,所述日志分类规则包括按关键字分类,所述按关键字分类包括:
所述提取单元具体用于根据预设的第一关键字,从所述混合的日志信息中提取所述用户日志信息;根据预设的第二关键字,从所述混合的日志信息中提取所述开发日志信息。
CN201310718417.7A 2013-12-23 2013-12-23 日志分离方法及装置 Active CN103744890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310718417.7A CN103744890B (zh) 2013-12-23 2013-12-23 日志分离方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310718417.7A CN103744890B (zh) 2013-12-23 2013-12-23 日志分离方法及装置

Publications (2)

Publication Number Publication Date
CN103744890A CN103744890A (zh) 2014-04-23
CN103744890B true CN103744890B (zh) 2017-02-01

Family

ID=50501908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310718417.7A Active CN103744890B (zh) 2013-12-23 2013-12-23 日志分离方法及装置

Country Status (1)

Country Link
CN (1) CN103744890B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038821A (zh) * 2014-06-09 2014-09-10 四川长虹电器股份有限公司 统一收集Android电视各功能模块故障信息的方法
CN105703932B (zh) * 2014-11-28 2019-03-01 广州华多网络科技有限公司 日志记录上传方法、日志记录接收方法、终端及服务器
CN104978438A (zh) * 2015-07-23 2015-10-14 上海斐讯数据通信技术有限公司 基于日志的实时分析方法及系统
CN106095658A (zh) * 2016-06-12 2016-11-09 北京奇虎科技有限公司 对系统日志实现规整的方法及装置
CN106169959A (zh) * 2016-07-21 2016-11-30 柳州龙辉科技有限公司 一种日志处理装置
CN106339293B (zh) * 2016-08-20 2019-04-12 南京理工大学 一种基于签名的日志事件提取方法
CN107291911B (zh) * 2017-06-26 2020-01-21 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN109426606A (zh) * 2017-08-23 2019-03-05 东软集团股份有限公司 内核故障诊断信息处理方法、装置、存储介质及电子设备
CN108446370B (zh) * 2018-03-15 2019-04-26 苏州思必驰信息科技有限公司 语音数据统计方法和系统
CN109558756B (zh) * 2018-12-13 2022-04-12 艾体威尔电子技术(北京)有限公司 一种emv报文解析工具
CN109739825B (zh) * 2018-12-29 2021-04-30 优刻得科技股份有限公司 管理日志的方法、装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949725A (zh) * 2006-11-22 2007-04-18 华为技术有限公司 一种日志消息的过滤系统及方法
CN101753971A (zh) * 2008-12-22 2010-06-23 中兴通讯股份有限公司 一种统一视讯管理平台中内容管理系统中的日志系统及日志记录方法
CN102780726A (zh) * 2011-05-13 2012-11-14 中兴通讯股份有限公司 一种基于web平台的日志分析方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5024394B2 (ja) * 2010-01-26 2012-09-12 富士通株式会社 システム可視化プログラム、方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949725A (zh) * 2006-11-22 2007-04-18 华为技术有限公司 一种日志消息的过滤系统及方法
CN101753971A (zh) * 2008-12-22 2010-06-23 中兴通讯股份有限公司 一种统一视讯管理平台中内容管理系统中的日志系统及日志记录方法
CN102780726A (zh) * 2011-05-13 2012-11-14 中兴通讯股份有限公司 一种基于web平台的日志分析方法及系统

Also Published As

Publication number Publication date
CN103744890A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
CN103744890B (zh) 日志分离方法及装置
CN105491038B (zh) 一种智能设备协议解析方法
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN106294619A (zh) 舆情智能监管方法
CN104794204A (zh) 一种数据库敏感数据自动识别方法
CN110084561A (zh) 断点跟进方法、电子装置及可读存储介质
CN106897072A (zh) 业务工程调用方法、装置及电子设备
CN106021301B (zh) 一种不同文件格式的数据比对系统及方法
CN104751051A (zh) 恶意广告的识别方法及装置、移动终端
CN101527011B (zh) 一种实时故障处理流程自动导航方法和装置
CN111090973A (zh) 一种报表生成方法、装置及电子设备
CN103365777A (zh) 一种测试用例生成方法及系统
CN104657814B (zh) 基于ems系统的继电保护装置信号模板抽取定义方法
CN112882995A (zh) 脚本自动生成方法、装置、电子设备及存储介质
CN101986283A (zh) 检测Windows系统已知漏洞的方法和系统
CN104346337A (zh) 一种拦截垃圾信息的方法和装置
CN103577318A (zh) 一种代码检测方法和装置
CN106886471A (zh) 一种基于linux中磁盘的读写故障检测方法及系统
CN104572454B (zh) 一种定位资源的方法及装置
CN105472136A (zh) 短消息信息显示方法及装置
CN101887391A (zh) 手机软件自动测试装置及其测试方法
CN106372312B (zh) 隧道消防监控系统参数化建模方法
CN109344130A (zh) 一种日志管理方法和装置
Pan et al. \textsc {SeePrivacy}: Automated Contextual Privacy Policy Generation for Mobile Applications
CN117034259B (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