[发明专利]日志打印方法和装置、以及日志打印系统有效
申请号: | 201610507513.0 | 申请日: | 2016-06-30 |
公开(公告)号: | CN106909325B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 封磊 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F3/12 | 分类号: | G06F3/12 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 日志 打印 方法 装置 以及 系统 | ||
本申请公开一种日志打印方法和装置、以及日志打印系统,该日志打印方法应用于业务系统中,所述业务系统包括多个层,该方法包括:接收业务请求;根据所述业务请求,确定对应的层以及对应的日志打印组件;将所述业务请求在对应的层中所产生的日志信息,采用所述确定的日志打印组件打印到日志文件中。该方法是建立一个简单、灵活、对业务代码无侵入的日志框架的方法,无需业务系统增加代码,当不同业务的请求过来,该方法建立的日志框架会自动将每一层处理方法的参数及返回值打印在不同业务对应的日志文件中,同时业务代码中的日志打印也可以直接打印到该业务对应的日志文件中,可以保证一次业务请求链路上的所有日志都能够打印到一个文件中。
技术领域
本申请涉及服务端业务打印技术领域,具体涉及一种日志打印方法。本申请同时涉及一种日志打印装置及系统。
背景技术
在服务端业务系统中,经常会划分出不同的层次来进行代码的隔离和抽象。一个简单的后端业务系统可分为服务层、领域层和数据层,这样一个前台请求会经过后端业务系统三层处理,传统的方式会在每一层的每一个实现类的代码中手动指定一个日志打印logger,这样打印日志不够灵活、代码重复,并且不能将一个业务请求链路的日志串写在一个文件中,从而导致排查问题和进行业务监控的时候耗时费力,浪费很多资源。
或者,业务系统日志不按照业务划分打印,是通过aop或者各个层次写死logger方式按照层次划分打印的。一次业务请求最终打印的日志分散在多个文件中,排查问题查看日志需要grep多个文件才能查看完整链路,十分不方便。另外由于多个业务日志打印在同一个文件中,配置业务的监控对监控系统的性能压力也较大。
因此,现有技术不能很好的实现一次业务请求链路上的所有日志都打印到一个文件中的效果,即使通过一定的方法实现上述效果,但是也需要在业务系统中额外增加代码,给程序开发人员的业务代码的开发造成严重的不便。
发明内容
本申请提供一种日志打印方法,以解决现有技术中存在的上述问题。
本申请另外提供一种日志打印装置和系统。
本申请提供一种日志打印方法,应用于业务系统中,所述业务系统包括多个层,所述方法包括:
接收业务请求;
根据所述业务请求,确定对应的层以及对应的日志打印组件;
将所述业务请求在对应的层中所产生的日志信息,采用所述确定的日志打印组件打印到日志文件中。
可选的,所述将所述业务请求在对应的层中所产生的日志信息,采用所述确定的日志打印组件打印到日志文件中,包括:将所述业务请求在对应的层中所产生的日志信息,采用相同的日志打印组件打印到同一日志文件中。
可选的,在所述根据所述业务请求,确定对应的层以及对应的日志打印组件之后,执行以下操作:
存储所述日志打印组件以及该日志打印组件与对应的业务请求之间的对应关系;
所述将所述业务请求在对应的层中所产生的日志信息,采用所述确定的日志打印组件打印到日志文件中,包括:
在业务系统的不同层中,根据所述业务请求的类型确定该业务请求所对应的日志打印组件;
获取不同层中的业务请求所产生的需要记录的日志信息;
采用确定的日志打印组件将不同层的日志信息打印到所述业务请求对应的日志文件中。
可选的,所述业务系统的多个层中包括请求入口层和若干个被调用层;
所述请求入口层是所述业务请求的进入业务系统的起始层,并可调用所述被调用层;所述若干个被调用层至少部分层与层之间具有调用顺序,按照调用顺序依次被上一层所调用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610507513.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:唇彩管(M3296)
- 下一篇:电流传感器制作方法与电流传感器