CN107729172A - 一种生成分级调试日志的方法 - Google Patents

一种生成分级调试日志的方法 Download PDF

Info

Publication number
CN107729172A
CN107729172A CN201711052734.4A CN201711052734A CN107729172A CN 107729172 A CN107729172 A CN 107729172A CN 201711052734 A CN201711052734 A CN 201711052734A CN 107729172 A CN107729172 A CN 107729172A
Authority
CN
China
Prior art keywords
daily record
log recording
information
log
level
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
Application number
CN201711052734.4A
Other languages
English (en)
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.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
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 Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201711052734.4A priority Critical patent/CN107729172A/zh
Publication of CN107729172A publication Critical patent/CN107729172A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0781Error filtering or prioritizing based on a policy defined by the user or on a policy defined by a hardware/software module, e.g. according to a severity level

Abstract

本发明涉及一种生成分级调试日志的方法,预设级别信息;预设自定义token;然后启动日志系统;在储存一条日志记录时,至少存储以下信息:日志记录输出格式信息,信息具体内容字符串,或存储时还包括自定义token;判断当前运行模式是否是调试模式,如果不是则无进一步操作;如果是则转调试输出处理。本发明,采用分级的方式,将日志按级别显示,可增设级别标识来增加区分度,可以支持运行中动态调整,以屏蔽掉低级别日志记录的存储,通过自定token,在日志显示时,滤除不需要显示的日志记录,在保证日志记录详尽的同时,提高阅读、辨识度,利于快速查看、分析日志文件,利于有效降低无用日志记录的存储量。

Description

一种生成分级调试日志的方法
技术领域
本发明涉及日志系统,具体说是一种生成分级调试日志的方法。
背景技术
现有的软件,在开发调试过程中、使用过程中,大都会通过日志系统记录软件的运行信息,以便能发现、排查故障,确保软件运行可控、可查。在程序中的重要地方打印日志记录,之后对产生的日志记录进行分析,可找到对应代码的问题。因此,日志系统、日志文件分析成了各类软件项目中代码调试的主要手段。在业务软件系统中大量使用日志记录,日志记录能够起到“按图索骥”的作用,它对于故障定位和系统正常运行维护具有举足轻重的作用。
例如:某一软件的运行,可能会由于某些原因在某时刻产生运行错误,从而导致程序不能正常运行。问题既然出现了,那么对于维护人员来说就得立刻,马上,快速去维护软件。在维护人员到达第一现场最先想到的就是去查看软件运行产生的日志文件,因此,在软件中开发一个书写日志文件的模块是至关重要的。
但是,日志系统并非只在产生运行错误时才生成一条或多条日志记录,因此日志文件中还包含很多其他情况时生成的日志记录,这样一来,就不便于快速阅读、查询日志记录,因此,对程序的日志文件进行分析是一个较为繁琐、复杂的工程。另外,日志记录大多记载了较为详尽的信息,导致内容晦涩难懂,抑或包含大量代码(一个代码代表一类或一种信息)、简语(简略用语,属于缩写、简称一类),不能直观阅读,非专业人员甚至难以理解日志记录的具体含义和内容。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种生成分级调试日志的方法,采用分级的方式,将日志按级别显示,可增设级别标识来增加区分度,可以支持运行中动态调整,以屏蔽掉低级别日志记录的存储,通过自定token,在日志显示时,滤除不需要显示的日志记录,在保证日志记录详尽的同时,提高阅读、辨识度,利于快速查看、分析日志文件,利于有效降低无用日志记录的存储量。
为达到以上目的,本发明采取的技术方案是:
一种生成分级调试日志的方法,其特征在于,包括如下步骤:
步骤1,预设级别信息,包括但不限于:预设日志重要级别,预设对应于日志重要级别的日志级别标识图;
步骤2,预设自定义token,用于在日志显示时,滤除不需要显示的日志记录;
步骤3,读取预设级别信息,读取预设自定义token,启动日志系统;
步骤4,在储存一条日志记录时,按以下原则存储:
如果没有适配的自定义token,则至少存储以下信息:日志记录输出格式信息format,信息具体内容字符串args,
如果有适配的自定义token,则至少存储以下信息:自定义token,日志记录输出格式信息format,信息具体内容字符串args;
步骤5,判断当前运行模式是否是调试模式Debug Mode,
如果不是调试模式Debug Mode,则无进一步操作,等待下一次储存一条日志记录;
如果是调试模式Debug Mode,则转调试输出处理。
在上述技术方案的基础上,所述日志重要级别,包括:
错误信息LogError,
警告信息LogWarn,
一般信息LogInfo,
调试信息LogDebug,
冗余信息LogVerbose,
对应于日志重要级别的日志级别标识图,图案相同颜色不同,或图案颜色均不同。
在上述技术方案的基础上,对应于日志重要级别的日志级别标识图,图案大小按重要级别的高度,从大到小依次设定。
在上述技术方案的基础上,所述调试输出处理具体包括:
步骤6,进一步获取源代码文件名__FILE__,获取调用源代码行号__LINE__;
步骤7,将步骤6获取的信息,增加在日志记录输出格式信息format及信息具体内容字符串args之后;
步骤8,根据步骤7的信息,生成一条日志记录,格式为:
logXXX:(NSString *)file line:(NSInteger)line token:(NSString *)tokenform:(NSString *)format
然后更新当前调用级别updateLogLevel;
步骤9,判断当前调用级别updateLogLevel是否高于当前日志级别,
如果不是,则无进一步操作,等待下一次储存一条日志记录;
如果是,则输出日志记录供用户查看。
在上述技术方案的基础上,输出日志记录的格式为:
日志级别标识图Emoji+自定义token+源代码文件名filename+调用源代码行号linenum+日志内容args+日志级别标识图Emoji。
本发明所述的生成分级调试日志的方法,采用分级的方式,将日志按级别显示,可增设级别标识来增加区分度,可以支持运行中动态调整,以屏蔽掉低级别日志记录的存储,通过自定token,在日志显示时,滤除不需要显示的日志记录,在保证日志记录详尽的同时,提高阅读、辨识度,利于快速查看、分析日志文件,利于有效降低无用日志记录的存储量。
附图说明
本发明有如下附图:
图1 本发明的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1所示,本发明所述的生成分级调试日志的方法,包括如下步骤:
步骤1,预设级别信息,包括但不限于:预设日志重要级别,预设对应于日志重要级别的日志级别标识图;
步骤2,预设自定义token,用于在日志显示时,滤除不需要显示的日志记录;
步骤3,读取预设级别信息,读取预设自定义token,启动日志系统;
步骤4,在储存一条日志记录时,按以下原则存储:
如果没有适配的自定义token,则至少存储以下信息:日志记录输出格式信息format,信息具体内容字符串args,
如果有适配的自定义token,则至少存储以下信息:自定义token,日志记录输出格式信息format,信息具体内容字符串args;
步骤5,判断当前运行模式是否是调试模式Debug Mode,
如果不是调试模式Debug Mode,则无进一步操作,等待下一次储存一条日志记录;
如果是调试模式Debug Mode,则转调试输出处理。
在上述技术方案的基础上,所述日志重要级别,包括:
错误信息LogError,
警告信息LogWarn,
一般信息LogInfo,
调试信息LogDebug,
冗余信息LogVerbose,
对应于日志重要级别的日志级别标识图,图案相同颜色不同,或图案颜色均不同。
在上述技术方案的基础上,对应于日志重要级别的日志级别标识图,图案大小按重要级别的高度,从大到小依次设定。
在上述技术方案的基础上,所述调试输出处理具体包括:
步骤6,进一步获取源代码文件名__FILE__,获取调用源代码行号__LINE__;
步骤7,将步骤6获取的信息,增加在日志记录输出格式信息format及信息具体内容字符串args之后;
步骤8,根据步骤7的信息,生成一条日志记录,格式为:
logXXX:(NSString *)file line:(NSInteger)line token:(NSString *)tokenform:(NSString *)format
然后更新当前调用级别updateLogLevel;
步骤9,判断当前调用级别updateLogLevel是否高于当前日志级别,
如果不是,则无进一步操作,等待下一次储存一条日志记录;
如果是,则输出日志记录供用户查看。
在上述技术方案的基础上,输出日志记录的格式为:
日志级别标识图Emoji+自定义token+源代码文件名filename+调用源代码行号linenum+日志内容args+日志级别标识图Emoji。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (5)

1.一种生成分级调试日志的方法,其特征在于,包括如下步骤:
步骤1,预设级别信息,包括但不限于:预设日志重要级别,预设对应于日志重要级别的日志级别标识图;
步骤2,预设自定义token,用于在日志显示时,滤除不需要显示的日志记录;
步骤3,读取预设级别信息,读取预设自定义token,启动日志系统;
步骤4,在储存一条日志记录时,按以下原则存储:
如果没有适配的自定义token,则至少存储以下信息:日志记录输出格式信息format,信息具体内容字符串args,
如果有适配的自定义token,则至少存储以下信息:自定义token,日志记录输出格式信息format,信息具体内容字符串args;
步骤5,判断当前运行模式是否是调试模式Debug Mode,
如果不是调试模式Debug Mode,则无进一步操作,等待下一次储存一条日志记录;
如果是调试模式Debug Mode,则转调试输出处理。
2.如权利要求1所述的生成分级调试日志的方法,其特征在于:所述日志重要级别,包括:
错误信息LogError,
警告信息LogWarn,
一般信息LogInfo,
调试信息LogDebug,
冗余信息LogVerbose,
对应于日志重要级别的日志级别标识图,图案相同颜色不同,或图案颜色均不同。
3.如权利要求2所述的生成分级调试日志的方法,其特征在于:对应于日志重要级别的日志级别标识图,图案大小按重要级别的高度,从大到小依次设定。
4.如权利要求1所述的生成分级调试日志的方法,其特征在于:所述调试输出处理具体包括:
步骤6,进一步获取源代码文件名__FILE__,获取调用源代码行号__LINE__;
步骤7,将步骤6获取的信息,增加在日志记录输出格式信息format及信息具体内容字符串args之后;
步骤8,根据步骤7的信息,生成一条日志记录,格式为:
logXXX:(NSString *)file line:(NSInteger)line token:(NSString *)tokenform:(NSString *)format
然后更新当前调用级别updateLogLevel;
步骤9,判断当前调用级别updateLogLevel是否高于当前日志级别,
如果不是,则无进一步操作,等待下一次储存一条日志记录;
如果是,则输出日志记录供用户查看。
5.如权利要求4所述的生成分级调试日志的方法,其特征在于:输出日志记录的格式为:
日志级别标识图Emoji+自定义token+源代码文件名filename+调用源代码行号linenum+日志内容args+日志级别标识图Emoji。
CN201711052734.4A 2017-10-31 2017-10-31 一种生成分级调试日志的方法 Pending CN107729172A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711052734.4A CN107729172A (zh) 2017-10-31 2017-10-31 一种生成分级调试日志的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711052734.4A CN107729172A (zh) 2017-10-31 2017-10-31 一种生成分级调试日志的方法

Publications (1)

Publication Number Publication Date
CN107729172A true CN107729172A (zh) 2018-02-23

Family

ID=61202595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711052734.4A Pending CN107729172A (zh) 2017-10-31 2017-10-31 一种生成分级调试日志的方法

Country Status (1)

Country Link
CN (1) CN107729172A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519923A (zh) * 2018-03-01 2018-09-11 北京三快在线科技有限公司 一种卡顿检测方法及装置和电子设备
CN109167681A (zh) * 2018-08-07 2019-01-08 北京云迹科技有限公司 状态监控方法及装置
CN109388622A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 一种日志信息处理方法、装置、设备及可读存储介质
CN109614379A (zh) * 2018-10-22 2019-04-12 中国平安人寿保险股份有限公司 日志输出方法、装置、计算机存储介质和计算机设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949725A (zh) * 2006-11-22 2007-04-18 华为技术有限公司 一种日志消息的过滤系统及方法
CN102902764A (zh) * 2012-09-25 2013-01-30 北京奇虎科技有限公司 一种日志记录的方法和装置
CN104376043A (zh) * 2014-10-14 2015-02-25 深圳怡化电脑股份有限公司 日志记录与显示方法及装置
CN105260315A (zh) * 2015-11-13 2016-01-20 上海斐讯数据通信技术有限公司 一种在嵌入式系统进程中调试日志的方法
CN106296400A (zh) * 2016-08-10 2017-01-04 中国农业银行股份有限公司 一种日志记录的方法及系统
CN106385331A (zh) * 2016-09-08 2017-02-08 努比亚技术有限公司 一种基于日志的监控告警方法及系统
CN106484742A (zh) * 2015-09-01 2017-03-08 北京国双科技有限公司 日志处理方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949725A (zh) * 2006-11-22 2007-04-18 华为技术有限公司 一种日志消息的过滤系统及方法
CN102902764A (zh) * 2012-09-25 2013-01-30 北京奇虎科技有限公司 一种日志记录的方法和装置
CN104376043A (zh) * 2014-10-14 2015-02-25 深圳怡化电脑股份有限公司 日志记录与显示方法及装置
CN106484742A (zh) * 2015-09-01 2017-03-08 北京国双科技有限公司 日志处理方法和装置
CN105260315A (zh) * 2015-11-13 2016-01-20 上海斐讯数据通信技术有限公司 一种在嵌入式系统进程中调试日志的方法
CN106296400A (zh) * 2016-08-10 2017-01-04 中国农业银行股份有限公司 一种日志记录的方法及系统
CN106385331A (zh) * 2016-09-08 2017-02-08 努比亚技术有限公司 一种基于日志的监控告警方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108519923A (zh) * 2018-03-01 2018-09-11 北京三快在线科技有限公司 一种卡顿检测方法及装置和电子设备
CN109167681A (zh) * 2018-08-07 2019-01-08 北京云迹科技有限公司 状态监控方法及装置
CN109167681B (zh) * 2018-08-07 2021-08-17 北京云迹科技有限公司 状态监控方法及装置
CN109614379A (zh) * 2018-10-22 2019-04-12 中国平安人寿保险股份有限公司 日志输出方法、装置、计算机存储介质和计算机设备
CN109388622A (zh) * 2018-11-01 2019-02-26 郑州云海信息技术有限公司 一种日志信息处理方法、装置、设备及可读存储介质
CN109388622B (zh) * 2018-11-01 2022-05-24 郑州云海信息技术有限公司 一种日志信息处理方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107729172A (zh) 一种生成分级调试日志的方法
CN102831052B (zh) 测试用例自动化生成装置及方法
CN107562556B (zh) 故障的恢复方法、恢复装置及存储介质
CN107273267A (zh) 基于elastic组件的日志分析方法
CN106383852A (zh) 基于Docker容器的日志获取方法和装置
US20130111451A1 (en) Program Log Record Optimization
CN111258722B (zh) 一种集群的日志采集方法、系统、设备以及介质
CN109460343A (zh) 基于日志的系统异常监控方法、装置、设备及存储介质
US20160283357A1 (en) Call stack relationship acquiring method and apparatus
CN108874441B (zh) 一种板卡配置方法、装置、服务器和存储介质
CN115080398A (zh) 一种接口自动化测试系统及方法
CN105068935A (zh) 一种软件测试结果的处理方法及装置
CN110019067A (zh) 一种日志分析方法及系统
US20170344917A1 (en) Operation specification reproduction system and operation specification reproduction method
CN113987393A (zh) 一种网页操作记录器、系统、装置及方法
CN113282854A (zh) 数据请求响应方法、装置、电子设备及存储介质
CN108876963A (zh) 一种汽车日志的存储方法、装置、微处理器及存储介质
CN113064556A (zh) 一种bios的数据存储方法、装置、设备及存储介质
CN111435327B (zh) 一种日志记录的处理方法、装置及系统
CN112423121A (zh) 视频测试文件生成方法、装置及播放器测试方法、装置
CN101751283B (zh) 虚拟机监视器,虚拟机系统及客户操作系统状态获取方法
CN106547958A (zh) 一种车载设备数据的图形化分析方法及装置
CN116156266A (zh) 多路视频数据存储方法、系统、电子设备及存储介质
JP2013077124A (ja) ソフトウェアテストケース生成装置
CN109445993A (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