一种基于多线程的日志管理方法及系统技术方案

技术编号:12587394 阅读:62 留言:0更新日期:2015-12-24 04:09
本发明专利技术提供一种基于多线程的日志管理方法及系统,上述方法包括以下步骤:日志类对象接收线程调用请求后,获取所述线程对应的变量参数;所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志输出结果的正确性。

【技术实现步骤摘要】

本专利技术属于日志管理领域,尤其设及一种基于多线程的日志管理方法及系统
技术介绍
现有技术中,应用程序需要日志来记录程序的运行状态,方便后期的问题跟踪定 位,在日志系统的设计中,一般会有一个总的日志系统来统一管理运些日志的设置,如位 置、输出级别、内容等。 在单线程应用程序中,通常使用一单向日志向某个文件输出应用程序运行过程中 的重要日志信息,但是在多线程环境中,当每个线程都需要输出日志时,因考虑线程间的同 步,各个线程输出的日志容易错乱,从而使得日志文件不容易阅读和跟踪。 图1所示为现有技术中的日志管理结构图,包括线程集群(线程1、线程2…线程 n)、位于日志对象中的共享变量、日志文件;线程1、线程2…线程n分别调用日志对象中的 共享变量将日志信息输出至日志文件中。 但是上述方案存在W下问题:不同线程分别调用日志对象中的共享变量,并对共 享变量进行对应赋值,由于线程之间相互影响,则容易导致日志输出结果错乱。
技术实现思路
本专利技术提供一种基于多线程的日志管理方法及系统,W解决上述问题。 本专利技术提供一种基于多线程的日志管理方法。上述方法包括W下步骤: 日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设 置,将日志输出至日志文件中。 本专利技术还提供一种基于多线程的日志管理系统,包括获取模块、日志输出模块;其 中,所述获取模块与所述日志输出模块相连; 所述获取模块,用于接收线程调用请求后,获取所述线程对应的变量参数并将所 述变量参数发送至所述日志输出模块; 所述日志输出模块,用于通过所述线程对应的变量参数,按照与所述线程对应的 日志设置,将日志输出至日志文件中。 通过W下方案:日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志 输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志 输出结果的正确性。 通过W下方案:预先在日志类对象中配置不同线程对应的日志设置,其中,所述日 志设置包括日志位置设置、日志输出级别设置;使得日志输出结果更具有个性化和针对性, 大大提升了用户体验。【附图说明】 此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中: 图1所示为现有技术中的日志管理结构图; 图2所示为本专利技术实施例1的基于多线程的日志管理方法处理流程图; 图3所示为本专利技术实施例2的基于多线程的日志管理系统结构图; 图4所示为本专利技术实施例3的基于多线程的日志管理系统结构图; 图5所示为本专利技术实施例4的基于多线程的日志管理系统结构图。【具体实施方式】 下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可W相互组合。 图2所示为本专利技术实施例1的基于多线程的日志管理方法处理流程图,包括W下 步骤: 步骤201 :日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 进一步地,所述日志类对象是指Logger类。进一步地,日志类对象接收线程调用请求后,获取所述线程对应的变量参数之前, 还包括: 预先在日志类对象中设置变量参数与线程对应关系,如表1所示: 变量参数与线程对应关系表 表 1 进一步地,日志类对象接收线程调用请求后,获取所述线程对应的变量参数之前, 还包括: 预先在日志类对象中配置不同线程对应的日志设置,如表2所示: 线程与日志设置对应关系表表2 其中,所述日志设置包括日志位置设置、日志输出级别设置。 步骤202:所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应 的日志设置,将日志输出至日志文件中。 进一步地,所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应 的日志设置,将日志输出至日志文件中的过程为: 若所述日志类对象为Logger类,则所述日志类对象通过所述线程对应的变量参 数,按照与所述线程对应的日志设置,调用Logger类中的Write 0类,将日志输出至日志文 件中。图3所示为本专利技术实施例2的基于多线程的日志管理系统结构图,包括获取模块、 日志输出模块;其中,所述获取模块与所述日志输出模块相连; 所述获取模块,用于接收线程调用请求后,获取所述线程对应的变量参数并将所 述变量参数发送至所述日志输出模块; 所述日志输出模块,用于通过所述线程对应的变量参数,按照与所述线程对应的 日志设置,将日志输出至日志文件中。图4所示为本专利技术实施例3的基于多线程的日志管理系统结构图,在图3的基础 上增加了 "设置模块",其中,所述设置模块分别与所述获取模块、所述日志输出模块相连; 所述设置模块,用于预先在日志类对象中设置变量参数与线程对应关系;还用于 预先在日志类对象中配置不同线程对应的日志设置。图5所示为本专利技术实施例4的基于多线程的日志管理系统结构图,在图4的基础 上,增加了 "日志存储模块";其中,所述日志存储模块与所述日志输出模块相连; 所述日志存储模块,用于存储所述日志输出模块输出的日志信息。 通过W下方案:日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志 输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志 输出结果的正确性。 通过W下方案:预先在日志类对象中配置不同线程对应的日志设置,其中,所述日 志设置包括日志位置设置、日志输出级别设置;使得日志输出结果更具有个性化和针对性, 大大提升了用户体验。W上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,对于本领域的技 术人员来说,本专利技术可w有各种更改和变化。凡在本专利技术的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本专利技术的保护范围之内。【主权项】1. 一种基于多线程的日志管理方法,其特征在于,包括以下步骤: 日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将 日志输出至日志文件中。2. 根据权利要求1所述的方法,其特征在于,所述日志类对象是指Logger类。3. 根据权利要求1所述的方法,其特征在于,日志类对象接收线程调用请求后,获取所 述线程对应的变量参数之前,还包括: 预先在日志类对象中设置变量参数与线程对应关系。4. 根据权利要求1所述的方法,其特征在于,日志类对象接收线程调用请求后,获取所 述线程对应的变量参数之前,还包括: 预先在日志类对象中配置不同线程对应的日志设置。5. 根据权利要求4所述的方法,其特征在于,所述日志设置包括日志位置设置、日志输 出级别设置。6. 根据权利要求1所述的方法,其特征在于,所述日志类对象通过所述线程对应的变 量参数,按照与所述线程对应的日志设置,将日志输出至日志文件中的过程为: 若所述日志类对象为Logger类,则所述日志类对象通过所述线程对应的变量参数,按 照与所述线程对应的日志设置,调用Logger类中的本文档来自技高网...

【技术保护点】
一种基于多线程的日志管理方法,其特征在于,包括以下步骤:日志类对象接收线程调用请求后,获取所述线程对应的变量参数;所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志输出至日志文件中。

【技术特征摘要】

【专利技术属性】
技术研发人员:张立雨
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1