一种基于多线程的日志管理方法及系统的制作方法

文档序号:9432442阅读:211来源:国知局
一种基于多线程的日志管理方法及系统的制作方法
【技术领域】
[0001] 本发明属于日志管理领域,尤其设及一种基于多线程的日志管理方法及系统。
【背景技术】
[0002] 现有技术中,应用程序需要日志来记录程序的运行状态,方便后期的问题跟踪定 位,在日志系统的设计中,一般会有一个总的日志系统来统一管理运些日志的设置,如位 置、输出级别、内容等。
[0003] 在单线程应用程序中,通常使用一单向日志向某个文件输出应用程序运行过程中 的重要日志信息,但是在多线程环境中,当每个线程都需要输出日志时,因考虑线程间的同 步,各个线程输出的日志容易错乱,从而使得日志文件不容易阅读和跟踪。
[0004] 图1所示为现有技术中的日志管理结构图,包括线程集群(线程1、线程2…线程 n)、位于日志对象中的共享变量、日志文件;线程1、线程2…线程n分别调用日志对象中的 共享变量将日志信息输出至日志文件中。
[0005] 但是上述方案存在W下问题:不同线程分别调用日志对象中的共享变量,并对共 享变量进行对应赋值,由于线程之间相互影响,则容易导致日志输出结果错乱。

【发明内容】

[0006] 本发明提供一种基于多线程的日志管理方法及系统,W解决上述问题。
[0007] 本发明提供一种基于多线程的日志管理方法。上述方法包括W下步骤:
[0008] 日志类对象接收线程调用请求后,获取所述线程对应的变量参数;
[0009] 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设 置,将日志输出至日志文件中。
[0010] 本发明还提供一种基于多线程的日志管理系统,包括获取模块、日志输出模块;其 中,所述获取模块与所述日志输出模块相连;
[0011] 所述获取模块,用于接收线程调用请求后,获取所述线程对应的变量参数并将所 述变量参数发送至所述日志输出模块;
[0012] 所述日志输出模块,用于通过所述线程对应的变量参数,按照与所述线程对应的 日志设置,将日志输出至日志文件中。
[0013] 通过W下方案:日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志 输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志 输出结果的正确性。
[0014] 通过W下方案:预先在日志类对象中配置不同线程对应的日志设置,其中,所述日 志设置包括日志位置设置、日志输出级别设置;使得日志输出结果更具有个性化和针对性, 大大提升了用户体验。
【附图说明】
[0015] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0016] 图1所示为现有技术中的日志管理结构图;
[0017] 图2所示为本发明实施例1的基于多线程的日志管理方法处理流程图;
[0018] 图3所示为本发明实施例2的基于多线程的日志管理系统结构图;
[0019] 图4所示为本发明实施例3的基于多线程的日志管理系统结构图;
[0020] 图5所示为本发明实施例4的基于多线程的日志管理系统结构图。
【具体实施方式】
[0021] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可W相互组合。
[0022] 图2所示为本发明实施例1的基于多线程的日志管理方法处理流程图,包括W下 步骤:
[0023] 步骤201 :日志类对象接收线程调用请求后,获取所述线程对应的变量参数;
[0024] 进一步地,所述日志类对象是指Logger类。
[00巧]进一步地,日志类对象接收线程调用请求后,获取所述线程对应的变量参数之前, 还包括:
[0026] 预先在日志类对象中设置变量参数与线程对应关系,如表1所示:
[0027] 变量参数与线程对应关系表
[0028]
[0029] 表 1
[0030] 进一步地,日志类对象接收线程调用请求后,获取所述线程对应的变量参数之前, 还包括:
[0031] 预先在日志类对象中配置不同线程对应的日志设置,如表2所示:
[0032] 线程与日志设置对应关系表
[0033]
[0034]
[0035]表2
[0036] 其中,所述日志设置包括日志位置设置、日志输出级别设置。
[0037] 步骤202:所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应 的日志设置,将日志输出至日志文件中。
[0038] 进一步地,所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应 的日志设置,将日志输出至日志文件中的过程为:
[0039] 若所述日志类对象为Logger类,则所述日志类对象通过所述线程对应的变量参 数,按照与所述线程对应的日志设置,调用Logger类中的Write 0类,将日志输出至日志文 件中。
[0040]图3所示为本发明实施例2的基于多线程的日志管理系统结构图,包括获取模块、 日志输出模块;其中,所述获取模块与所述日志输出模块相连;
[0041] 所述获取模块,用于接收线程调用请求后,获取所述线程对应的变量参数并将所 述变量参数发送至所述日志输出模块;
[0042] 所述日志输出模块,用于通过所述线程对应的变量参数,按照与所述线程对应的 日志设置,将日志输出至日志文件中。
[0043]图4所示为本发明实施例3的基于多线程的日志管理系统结构图,在图3的基础 上增加了 "设置模块",其中,所述设置模块分别与所述获取模块、所述日志输出模块相连;
[0044] 所述设置模块,用于预先在日志类对象中设置变量参数与线程对应关系;还用于 预先在日志类对象中配置不同线程对应的日志设置。
[0045]图5所示为本发明实施例4的基于多线程的日志管理系统结构图,在图4的基础 上,增加了 "日志存储模块";其中,所述日志存储模块与所述日志输出模块相连;
[0046] 所述日志存储模块,用于存储所述日志输出模块输出的日志信息。
[0047] 通过W下方案:日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志 输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志 输出结果的正确性。
[0048] 通过W下方案:预先在日志类对象中配置不同线程对应的日志设置,其中,所述日 志设置包括日志位置设置、日志输出级别设置;使得日志输出结果更具有个性化和针对性, 大大提升了用户体验。
[0049]W上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可w有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于多线程的日志管理方法,其特征在于,包括以下步骤: 日志类对象接收线程调用请求后,获取所述线程对应的变量参数; 所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将 日志输出至日志文件中。2. 根据权利要求1所述的方法,其特征在于,所述日志类对象是指Logger类。3. 根据权利要求1所述的方法,其特征在于,日志类对象接收线程调用请求后,获取所 述线程对应的变量参数之前,还包括: 预先在日志类对象中设置变量参数与线程对应关系。4. 根据权利要求1所述的方法,其特征在于,日志类对象接收线程调用请求后,获取所 述线程对应的变量参数之前,还包括: 预先在日志类对象中配置不同线程对应的日志设置。5. 根据权利要求4所述的方法,其特征在于,所述日志设置包括日志位置设置、日志输 出级别设置。6. 根据权利要求1所述的方法,其特征在于,所述日志类对象通过所述线程对应的变 量参数,按照与所述线程对应的日志设置,将日志输出至日志文件中的过程为: 若所述日志类对象为Logger类,则所述日志类对象通过所述线程对应的变量参数,按 照与所述线程对应的日志设置,调用Logger类中的Write()类,将日志输出至日志文件中。7. -种基于多线程的日志管理系统,其特征在于,包括获取模块、日志输出模块;其 中,所述获取模块与所述日志输出模块相连; 所述获取模块,用于接收线程调用请求后,获取所述线程对应的变量参数并将所述变 量参数发送至所述日志输出模块; 所述日志输出模块,用于通过所述线程对应的变量参数,按照与所述线程对应的日志 设置,将日志输出至日志文件中。8. 根据权利要求7所述的系统,其特征在于,还包括设置模块;其中,所述设置模块分 别与所述获取模块、所述日志输出模块相连; 所述设置模块,用于预先在日志类对象中设置变量参数与线程对应关系;还用于预先 在日志类对象中配置不同线程对应的日志设置。9. 根据权利要求8所述的系统,其特征在于,所述日志设置包括日志位置设置、日志输 出级别设置。10. 根据权利要求8所述的系统,其特征在于,还包括日志存储模块;其中,所述日志存 储模块与所述日志输出模块相连; 所述日志存储模块,用于存储所述日志输出模块输出的日志信息。
【专利摘要】本发明提供一种基于多线程的日志管理方法及系统,上述方法包括以下步骤:日志类对象接收线程调用请求后,获取所述线程对应的变量参数;所述日志类对象通过所述线程对应的变量参数,按照与所述线程对应的日志设置,将日志输出至日志文件中;实现了在多线程环境下,各个线程有各自清晰的日志文件,保证了日志输出结果的正确性。
【IPC分类】G06F11/34
【公开号】CN105183621
【申请号】CN201510505875
【发明人】张立雨
【申请人】浪潮(北京)电子信息产业有限公司
【公开日】2015年12月23日
【申请日】2015年8月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1