[发明专利]多进程的日志输出方法及系统在审
申请号: | 201210004244.8 | 申请日: | 2012-01-06 |
公开(公告)号: | CN103198007A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 高明 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/52;G06F9/54 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;曾旻辉 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 日志 输出 方法 系统 | ||
【技术领域】
本发明涉及计算机技术,特别是涉及一种多进程的日志输出方法及系统。
【背景技术】
日志(LOG)记录了应用程序在运行过程中的一些状态信息,特别是出错信息。借助日志可以快速跟踪、定位到软件出错的位置,方便修复。因此,日志对于软件开发者维护软件来说,尤为重要。
目前市面上的应用程序为了追求低耦合、高稳定性,在程序开发时采用的是多进程的架构。但是多进程的架构使输出和管理日志便成为一个难题。一般的做法是各个进程都包含一个日志记录模块,每个日志记录模块单独的输出其所在进程的日志。这种方式的优点是原日志记录模块不需要修改,且处理过程简单易行。
但由于操作系统文件保护的关系,各进程的日志势必不能高效的按时间顺序统一输出在同一个日志文件中,只能按所在进程生成多份日志文件。
【发明内容】
鉴于上述状况,有必要提供一种能够将多进程的应用程序的日志进行统一输出的多进程的日志输出方法。
一种多进程的日志输出方法,所述多进程包括主进程和与所述主进程进行交互的子进程,包括以下步骤:
通过所述主进程获取子进程的日志信息和所述日志信息的时间戳;
所述主进程根据所述时间戳将所述子进程的日志信息进行缓存;
所述主进程获取缓存的所述子进程的日志信息并输出为日志文件。
此外,还有必要提供一种能够将多进程的应用程序的日志进行统一输出的多进程的日志输出系统,包括主进程模块和子进程模块,所述主进程模块包括:
通信模块,用于获取子进程的日志信息和所述日志信息的时间戳;
缓存模块,用于根据所述时间戳将所述子进程的日志信息进行缓存;及
日志输出模块,用于获取缓存的所述子进程的日志信息并输出为日志文件。
上述多进程的日志输出方法及系统,首先通过主进程获取子进程的日志信息和日志信息的时间戳,并根据时间戳将子进程的日志信息进行缓存;然后,主进程获取缓存的子进程的日志信息并输出为日志文件。当应用程序有多个进程需要日志输出时,多个子进程的日志信息先集中缓存于主进程中,并按照时间顺序排列,最后输出在一个日志文件内。因此,通过上述方法及系统能够将多进程的应用程序的日志进行统一输出。
【附图说明】
图1为一实施例中多进程的日志输出方法的流程示意图;
图2为一实施例中通过主进程获取子进程的日志信息和日志信息的时间戳的流程示意图;
图3为主进程根据时间戳将子进程的日志信息进行缓存的流程示意图;
图4为主进程根据时间戳将子进程的日志信息进行缓存的原理图;
图5为一实施例中多进程的日志输出系统的结构示意图;
图6为一个实施例中通信模块的结构示意图;
图7为一个实施例中缓存模块的结构示意图;
图8为另一个实施例中多进程的日志输出系统的结构示意图。
【具体实施方式】
在多进程架构的应用程序中,多进程包括主进程和与主进程进行交互的多个子进程。
如图1所示,在一个实施例中,多进程的日志输出方法包括以下步骤:
步骤S110,通过主进程获取子进程的日志信息和日志信息的时间戳。
日志信息包括产生该日志信息的子进程的编号及进程名,以此表明该日志信息的来源。日志信息还包括日志内容,日志内容是日志信息的核心部分,用于记录产生该日志信息的子进程的工作状态、故障信息及运行参数等。时间戳中记录了每个日志信息产生的时间。
如图2所示,在一个实施例中,上述步骤S110具体包括以下步骤:
步骤S111,主进程打开进程间通信通道。
进程间通信通道即IPC(Inter-Process Communication,进程间通信)通道,两个进程之间可通过IPC通道进行通信。进行进程间通信的方式有多种,例如Socket(套接字)、管道及共享内存。在一个实施例中,可采取共享内存的方式实现进程间的通信。
步骤S113,接收子进程的进程间通信连接请求,与子进程建立通信通道。
在一个实施例中,共享内存的创建和打开可采用了基于连接的客户机/服务器模式(C/S)。主进程先启动,打开进程间通信通道并监听子进程的连接请求,当收到子进程发起请求时,则建立通信通道。
在一个实施例中,当主进程接收到子进程的请求结束消息或监测到子进程断开时,则关闭与所述子进程之间的进程间通信通道。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210004244.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于大电流密度M型阴极敷膜的合金靶材制备方法
- 下一篇:燃料分配歧管