[发明专利]一种日志收集方法及装置有效
申请号: | 201711248381.5 | 申请日: | 2017-12-01 |
公开(公告)号: | CN108153654B | 公开(公告)日: | 2021-01-22 |
发明(设计)人: | 马景云 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 日志 收集 方法 装置 | ||
本发明实施例提供了一种日志收集方法及装置,该方法包括:主进程获取待进行日志文件收集的目标任务的任务参数;将所述任务参数发送给壳进程,并启动所述壳进程;壳进程启动日志收集线程,将所述任务参数发送至所述日志收集线程,并根据所述任务参数,从所述目标任务的输出数据中,获得所述目标任务生成的日志文件;日志收集线程根据所述任务参数对所述目标任务进行监测,当监测到有日志文件生成时,将所述壳进程获得的日志文件持久化。应用本发明实施例提供的方案进行日志收集,避免了对目标任务的业务的入侵,减少了对业务执行的影响。
技术领域
本发明涉及互联网软件技术领域,特别是涉及一种日志收集方法及装置。
背景技术
网络设备、网络系统中运行的服务程序在执行业务时都会产生日志文件,这些日志文件通常会记录下执行业务过程中所进行操作的相关内容,这样开发者可以依据上述日志文件对上述服务程序的执行过程进行监控,尤其是在服务程序出现异常时,上述日志文件对异常情况的分析能起至关重要的作用。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
目前一般是基于脚本实现日志文件收集的,也就是,将用于收集日志文件的脚本嵌套在服务程序所执行业务的业务逻辑中,这样虽然可以实现日志文件的收集,但是对业务的侵入过高,从而对业务的执行带来较大的影响。
发明内容
本发明实施例的目的在于提供一种基于脚本的日志收集方法,以避免日志收集对服务程序所执行业务的侵入,从而提高服务程序执行业务时的性能。
为达到上述目的,本发明实施例公开了一种日志收集方法,所述方法包括:
主进程获取待进行日志文件收集的目标任务的任务参数;将所述任务参数发送给壳进程,并启动所述壳进程,其中,所述主进程为:用于执行所述目标任务的进程;
所述壳进程启动日志收集线程,将所述任务参数发送至所述日志收集线程,并根据所述任务参数,从所述目标任务的输出数据中,获得所述目标任务生成的日志文件;
所述日志收集线程根据所述任务参数对所述目标任务进行监测,当监测到有日志文件生成时,将所述壳进程获得的日志文件持久化。
较佳的,所述方法还包括:
所述日志收集线程监测所述目标任务是否执行完毕,如果监测到所述目标任务执行完毕后,则向所述主进程发送通知信息;
所述主进程根据接收到的所述日志收集线程发送的通知信息,依次结束所述日志收集线程和壳进程,并退出。
较佳的,在所述日志收集线程监测到所述目标任务执行完毕后,所述主进程退出之前,所述方法还包括:
所述主进程获取所述目标任务的退出码;
所述主进程根据所述退出码,检测所述目标任务是否为异常退出;
所述主进程,若检测到所述目标任务是异常退出,则确定所述目标任务异常退出的原因,并将所述退出码和所述异常退出的原因持久化;
所述主进程,若检测到所述目标任务不是异常退出,则直接将所述退出码持久化。
较佳的,所述将所述壳进程获得的日志文件持久化,包括:
所述日志收集线程将所述壳进程获得的日志文件存储至预设的第三方数据库。
较佳的,所述任务参数包括:所述目标任务的名称。
为达到上述目的,本发明实施例公开了一种日志收集装置,所述装置包括:
进程启动模块,用于主进程获取待进行日志文件收集的目标任务的任务参数;将所述任务参数发送给壳进程,并启动所述壳进程,其中,所述主进程为:用于执行所述目标任务的进程;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711248381.5/2.html,转载请声明来源钻瓜专利网。