[发明专利]一种强化错误排查支持的日志记录方法和系统有效
申请号: | 201910064459.0 | 申请日: | 2019-01-23 |
公开(公告)号: | CN109857715B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 张甄 | 申请(专利权)人: | 安徽鼎众数科信息科技有限公司 |
主分类号: | G06F16/18 | 分类号: | G06F16/18;G06F16/22;G06F9/50 |
代理公司: | 合肥律众知识产权代理有限公司 34147 | 代理人: | 赵娟 |
地址: | 230000 安徽省合肥市包河经济开发区*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 强化 错误 排查 支持 日志 记录 方法 系统 | ||
本发明公开了一种强化错误排查支持的日志记录方法和系统,主要包括:日志记录构造模块,提供给应用程序调用的程序库,用于在应用程序调用日志时按日志输出模块的要求为日志内容补充必要信息,并构造为结构化的日志记录;日志传输模块,用于支撑日志记录构造后发送到日志记录以及接收日志记录的功能,可能会根据服务的运行环境和部署方式的不同支持线程间、进程间甚至跨主机的不同传输方式。本发明专利以内存缓冲日志内容及延时输出的思路,在触发日志输出条件时根据条件筛选日志进行全量或部分输出,无需对应用程序的其他部分做任何变动,就能在系统范围内日常输出精简日志,实现了节约磁盘资源和提升问题分析排查速度两个目标。
技术领域
本发明属于软件开发领域,特别的是指一种强化错误排查支持的日志记录方法和系统。
背景技术
目前在计算机系统中对日志的记录都是采用在代码或配置文件中指定一个日志级别,服务启动后运行过程中产生的日志记录凡是级别高于或等于指定级别的则记入日志文件,低于它的则不记入日志文件,通常技术人员在开发和测试环境为了便于检查程序运行的正确性,并定位错误原因和性能瓶颈等,会把允许记录的日志级别设为 DEBUG,而在程序部署到生产运行环境之后则会将级别调整为 ERROR 或 INFO,以防止过多日志影响系统整体性能并节约磁盘空间,然而,由于系统及其使用环境的复杂性,生产环境常常出现发生错误后检查日志却发现因为日志级别较高导致不能取得必要的信息,无法进行问题分析和定位,而且就算在生产环境上临时性的将日志级别调为 DEBUG,也有可能因为错误没有重复出现而无法排查,因此为了兼顾生产环境运行要求和对生产问题快速排查和修复的要求,技术人员对生产系统的日志记录的真正需求是:在正常运行过程中输出的日志记录尽量精简,能证明曾经收到某笔请求并已正常处理即可,比如仅记录 INFO 级别的日志;
一旦某笔请求处理过程中发生运行与预期不符的情况,比如抛出异常、出现超时甚至程序崩溃,则记录该笔请求所有的日志,并包含此处理过程中在发生错误之前已产的INFO 以下级别的日志。
发明内容
鉴于上述技术背景,本申请的主要目的在于提供一种能满足上述需求的的日志记录方法和装置,以解决生产环境正常高效运行与运行中偶尔出现的问题能得到及时解决这两个实际需求之间的矛盾。
为实现上述目的,本发明采取的技术方案为:
一种强化错误排查支持的日志记录方法和系统,主要包括:
日志记录构造模块,提供给应用程序调用的程序库,用于在应用程序调用日志时按日志输出模块的要求为日志内容补充必要信息,并构造为结构化的日志记录;
日志传输模块,用于支撑日志记录构造后发送到日志记录以及接收日志记录的功能,可能会根据服务的运行环境和部署方式的不同支持线程间、进程间甚至跨主机的不同传输方式;
日志输出模块,用于接收构造好的日志记录,并按策略将日志输出到日志文件。
优选的,包括步骤,应用程序收到一笔请求及结束该请求的处理过程时,按约定选定适合标识该请求的字段,并按指定格式构造日志记录内容,以标志一笔请求的处理过程开始和结束,并调用日志记录库(级别为 INFO); 应用程序在请求的处理过程中可以构造任意内容的日志记录,并以需要的级别调用日志记录库,日志记录库对日志记录补充一些必要的附加信息,并组织为结构化的日志记录,再将其发送到日志记录库的日志输出模块,日志记录库的日志输出模块将收到的结构化日志记录保存在内存中,并等待该笔请求后续的日志记录,日志输出模块会根据情况以不同的策略将内存中的相关日志记录输出到日志文件。
优选的,收到标志着完成一笔请求的指定格式日志记录时,根据该请求中已收到的日志记录做判断:1.1 若该请求存在 ERROR 或更高级别的日志记录,则将该请求的所有日志记录全部按时间顺序输出;1.2 若该请求不存在 ERROR 或更高级别的日志记录,则仅将该请求的 INFO 级别日志按时间顺序输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽鼎众数科信息科技有限公司,未经安徽鼎众数科信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910064459.0/2.html,转载请声明来源钻瓜专利网。