【技术实现步骤摘要】
一种日志输出方法、装置和计算机可读存储介质
本专利技术涉及分布式存储
,特别是涉及一种日志输出方法、装置和计算机可读存储介质。
技术介绍
在分布式系统中,各个子模块都有相应的日志线程,以方便进行问题定位和功能调试,通过进程间通信开启子模块日志后,由于函数日志打印语句较多,会导致输出大量不相关的日志信息,这会增加问题排查的难度。为了减少不相关日志的打印,目前最常用的方案是在调用打印函数时,设置该条日志的打印级别,通过动态调整级别,控制日志输出量。虽然通过调整日志级别可以实现控制日志打印数量,但是当日志级别较小时,会导致输出日志有限,不足以定位问题,难以实现控制函数级别的日志输出,大量的日志输出或有限的日志输出都将影响问题定位难度和效率。可见,如何减少大量不相关日志信息的输出,并且提升问题排查的效率,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种日志输出方法、装置和计算机可读存储介质,可以减少大量不相关日志信息的输出,并且提升问题排查的效率。为解 ...
【技术保护点】
1.一种日志输出方法,其特征在于,包括:/n接收到进程间通信指令时,检查所述进程间通信指令中携带的模块名和函数名是否符合预设要求;/n当所述模块名和所述函数名符合预设要求时,则将所述模块名与所述函数名存储到预设的数据结构中;/n当运行到日志打印语句时,则从所述数据结构中查询是否存在与所述日志打印语句所属的目标模块名、目标函数名相匹配的记录;/n若是,则将与目标模块名、目标函数名相对应的日志信息放入日志缓存列表中;/n当所述日志缓存列表中记录的日志信息满足预设条件时,则将所述日志缓存列表中的日志信息写入预设的日志文件中。/n
【技术特征摘要】
1.一种日志输出方法,其特征在于,包括:
接收到进程间通信指令时,检查所述进程间通信指令中携带的模块名和函数名是否符合预设要求;
当所述模块名和所述函数名符合预设要求时,则将所述模块名与所述函数名存储到预设的数据结构中;
当运行到日志打印语句时,则从所述数据结构中查询是否存在与所述日志打印语句所属的目标模块名、目标函数名相匹配的记录;
若是,则将与目标模块名、目标函数名相对应的日志信息放入日志缓存列表中;
当所述日志缓存列表中记录的日志信息满足预设条件时,则将所述日志缓存列表中的日志信息写入预设的日志文件中。
2.根据权利要求1所述的方法,其特征在于,所述当所述日志缓存列表中记录的日志信息满足预设条件时,则将所述日志缓存列表中的日志信息写入预设的日志文件中包括:
判断所述日志缓存列表中日志信息的数据量是否达到预设阈值;
若是,则将所述日志缓存列表中的日志信息写入预设的日志文件中,并将所述日志缓存列表清空。
3.根据权利要求1所述的方法,其特征在于,所述当所述日志缓存列表中记录的日志信息满足预设条件时,则将所述日志缓存列表中的日志信息写入预设的日志文件中包括:
判断所述日志缓存列表中日志信息的存储时间是否达到预设时间值;
将存储时间达到预设时间值的目标日志信息写入预设的日志文件中,并将所述目标日志信息从所述日志缓存列表中删除。
4.根据权利要求1-3任意一项所述的方法,其特征在于,还包括:
当所述模块名和所述函数名不符合预设要求时,则展示模块错误的提示信息。
5.根据权利要求1-3任意一项所述的方法,其特征在于,在将所述模块名与所述函数名存储到预设的数据结构之后还包括:
当接收到日志关闭指令时,从所述数据结构中查询是否存在与所述日志关闭指令中携带的模块名相匹配的记录;
若是,则将与所述日志关闭指...
【专利技术属性】
技术研发人员:苏志恒,张端,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。