[发明专利]基于Log4j的日志写入方法、装置及计算机可读存储介质在审
申请号: | 201710919664.1 | 申请日: | 2017-09-30 |
公开(公告)号: | CN107766202A | 公开(公告)日: | 2018-03-06 |
发明(设计)人: | 高炳秋 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 深圳鼎合诚知识产权代理有限公司44281 | 代理人: | 江婷,李发兵 |
地址: | 518057 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 log4j 日志 写入 方法 装置 计算机 可读 存储 介质 | ||
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种基于Log4j的日志写入方法、装置及计算机可读存储介质。
背景技术
为了便于开发维护以及测试处理,通常相关大型系统或应用都具有日志记录功能,以对相关应用的行为进行记录。而基于Java语言开发的应用中,一种比较流行的日志记录框架Log4j(Log for Java)已成为大型应用中必不可少的一部分,Log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题的分析和定位。
目前,Log4j可以通过开启Log4j缓冲区策略实现日志写入,通过设置相应的缓冲区阈值,当检测到待写入的日志数据量达到缓冲区阈值时,再将这些待写入的日志一次性写入到指定文件中,但是在实际使用过程中,将存在如下问题,给使用带来了较大影响:
开启Log4j缓冲区策略以对相应的日志进行输出写入,在实际使用过程中,若仅仅依靠设置的该缓冲区阈值来控制日志的写入,很有可能存在由于用户要求写入的日志的数据量没有达到该缓冲区阈值,该日志始终无法有效写入到指定文件的问题,或者需要用户等待的时间较长,从而造成业务上的数据暂时性丢失的问题,导致用户无法及时获取到该日志,影响用户使用体验。
发明内容
本发明要解决的技术问题在于:现有的日志写入策略可能存在对终端性能要求较高,或者可能存在日志数据暂时性丢失,使用户无法及时获取到相应日志,从而影响用户使用体验的问题。针对该技术问题,本发明提供一种基于Log4j的日志写入方法、装置及计算机可读存储介质。
为解决上述技术问题,本发明提供一种基于Log4j的日志写入方法,所述基于Log4j的日志写入方法包括:
从所述Log4j的缓存区中获取需要写入到目标存储位置的待写入日志;
在预设时间周期到达时,将当前获取到的所述待写入日志写入到所述目标存储位置。
可选的,在所述将当前获取到的所述待写入日志写入到所述目标存储位置的步骤之前,还包括:
判定获取到的所述待写入日志的数据量大于0。
可选的,在所述预设时间周期达到之前,还包括:
判断当前获取到的所述待写入日志的数据量是否达到预设数据量门限,如是,直接将所述待写入日志写入到所述目标存储位置。
可选的,在所述预设时间周期达到之前,还包括:
判断是否接收到日志输出指令,如是,直接将当前获取的所述待写入日志写入到所述目标存储位置。
可选的,所述预设数据量门限是根据所述预设时间周期内从所述Log4j的缓存区中获取到的待写入日志的平均数据量进行设置的。
可选的,所述预设时间周期是根据使用所述待写入日志的相关业务所允许的业务数据时延进行设置的。
可选的,在所述将当前获取的所述待写入日志写入到所述目标存储位置的步骤之后,还包括:
将当前计时时间清零,以重新开始计时。
可选的,所述目标存储位置包括本地磁盘、数据库、服务器中的至少一种。
进一步地,本发明还提供了一种基于Log4j的装置,所述装置包括处理器、存储器及通信总线;
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的一个或者多个程序,以上述任一项所述的基于Log4j的日志写入方法的步骤。
进一步地,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的基于Log4j的日志写入方法的步骤。
有益效果
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710919664.1/2.html,转载请声明来源钻瓜专利网。