[发明专利]一种日志文件的生成方法和装置有效
申请号: | 201710333566.X | 申请日: | 2017-05-12 |
公开(公告)号: | CN107193558B | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 李晓梅 | 申请(专利权)人: | 北京五八信息技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 于金平 |
地址: | 100083 北京市海淀区学清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 日志 文件 生成 方法 装置 | ||
本发明公开了一种日志文件的生成方法和装置。所述方法包括:调用非阻塞输入/输出接口NIO为应用程序映射缓存区域;将运行所述应用程序所产生的数据写入到所述缓存区域中;根据所述缓存区域中的数据,生成与所述应用程序对应的日志文件。本发明通过NIO的方式为应用程序映射缓存区域,并在缓存区域中写入运行应用程序所产生的数据,避免了由于主线程被阻塞而造成的日志生成延时或失败的问题,本发明也无需设置用于生成日志文件的独立线程,可以节省系统资源,避免了在写日志的过程中,因独立线程被强制关闭而造成的日志文件丢失问题。
技术领域
本发明涉及计算机技术领域,特别是涉及一种日志文件的生成方法和装置。
背景技术
日志文件是用于收集bug(漏洞)或者跟踪用户操作轨迹的文件。
目前,通常采用调用IO(Input/Output,输入/输出)API(ApplicationProgramming Interface,应用程序编程接口)的方式生成日志文件。具体的,使用FileOutputStream(文件输出流)以字节为单位,读取应用程序的运行状态,并根据读取到的信息生成日志文件。
在现有技术中,为了防止由于主线程被阻塞而造成的日志生成延时或失败,需要设置独立的线程,用以调用IO API,进而能够及时读取应用程序的运行状态,并生成日志文件。
可见,现有技术中生成日志文件的方式由于需要设置独立线程,而占用了过多的系统资源,并且,如果该线程被强制关闭,容易造成日志文件丢失的现象。
发明内容
本发明要解决的技术问题是提供一种日志文件的生成方法和装置,用以解决现有写日志方式影响性能且容易丢失的问题。
根据上述技术问题,本发明是通过以下技术方案来解决的:
本发明提供了一种日志文件的生成方法,包括:调用非阻塞输入/输出接口NIO为应用程序映射缓存区域;将运行所述应用程序所产生的数据写入到所述缓存区域中;根据所述缓存区域中的数据,生成与所述应用程序对应的日志文件。
其中,所述调用NIO为所述应用程序映射缓存区域,包括:在使用一个账号登录所述应用程序时,调用所述NIO为所述应用程序映射缓存区域。
其中,在使用一个账号登录所述应用程序时,调用所述NIO为所述应用程序映射缓存区域之后,将运行所述应用程序所产生的数据写入到所述缓存区域中之前,还包括:在切换到另一账号登录所述应用程序时,调用所述NIO为以当前账号登录的所述应用程序映射新的缓存区域;所述将运行所述应用程序所产生的数据写入到所述缓存区域中,包括:在切换到所述另一账号登录所述应用程序后,将运行以当前账号登录的所述应用程序所产生的数据写入到所述已映射的新的缓存区域中。
其中,所述根据所述缓存区域中的数据,生成与所述应用程序对应的日志文件,包括:如果所述应用程序进行了登录账号切换,则根据所述应用程序先、后映射的缓存区域中的数据,采用链表模式,为所述应用程序生成前一个账号和后一个账号分别对应的日志文件。
其中,所述采用链表模式,为所述应用程序生成前一个账号和后一个账号分别对应的日志文件,包括:在前一个账号对应的日志文件中,记录后一个账号对应的日志文件的信息;在后一个账号对应的日志文件中,记录前一个账号对应的日志文件的信息。
其中,所述调用NIO为所述应用程序映射缓存区域,包括:调用所述NIO,为使用当前账号登录的所述应用程序分配文件通道FileChannel;通过所述FileChannel为使用当前账号的所述应用程序映射缓存区域;所述将运行所述应用程序所产生的数据写入到所述缓存区域中,包括:利用与所述FileChannel对应的内存映射MappedByteBuffer将以当前账号登录的所述应用程序所产生的数据写入所述缓存区域中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京五八信息技术有限公司,未经北京五八信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710333566.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种蓄热式余热回收系统
- 下一篇:一种汽轮机转子振动故障诊断方法及装置