一种按比例采样打印日志的方法与流程
- 国知局
- 2024-07-31 23:01:51
本发明属于日志打印,具体涉及一种按比例采样打印日志的方法。
背景技术:
1、在项目开发过程中,可以使用日志来记录代码中的错误和警告,以及代码的执行路径和流程,在系统出现异常时,开发人员可以通过日志对代码进行定位、调试和故障排除。日志可以记录关键指标,如响应时间、内存使用情况、数据库查询次数等,通过分析这些日志数据,开发人员可以及时发现潜在的性能问题,并采取措施来改进应用程序的性能。还可以通过日志记录用户行为,以此开发人员可以了解用户如何使用应用程序,以及哪些功能最受欢迎。这有助于开发及运营人员更好地了解用户需求,并改善应用程序的用户体验。所以系统中往往都会打印大量日志,带来极大便利的同时,也占用系统大量的负载能力,严重时对系统整体吞吐量影响巨大。因此,如何设计一种可以根据各业务重要程度按比例抽样打印日志的方法,成为亟待解决的重要问题。
技术实现思路
1、本发明的目的在于提供一种按比例采样打印日志的方法,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:一种按比例采样打印日志的方法,具体步骤包括:s1:接收来自上游系统发起的业务请求;
3、s2:在通用拦截器拦截请求前置方法中,获取当前业务请求uri,同时获取抽样打印日志比重配置;
4、s3:通过业务请求uri获取配置中对应的比重,如果配置了则执行步骤s4,否则设置printlog=true,执行步骤s7;
5、s4:通过业务请求uri获取配置中对应的比重;
6、s5:随机生成0~99中一个数字;
7、s6:比较随机生成数字和配置数字的大小,如果小于,则设置printlog=true,否则设置printlog=false;
8、s7:将printlog变量及其值放入线程上下文中;
9、s8:在本请求的后续处理逻辑中凡打印日志的地方,从线程上下文中获取printlog值并判断,如果是true,则真实打印日志,如果是false,则不打印日志;
10、s9:在通用拦截器拦截请求后置方法中,清空printlog变量;
11、s10:结束。
12、优选的,步骤s5中,通过编程语言的api,可以随机生成0~99中的其中一个数,每个数被生成的概率为百分之一。
13、优选的,每个请求均在一个线程中执行,线程上下文对象属于此线程。
14、优选的,所用的配置文件配置内容如下:
15、
16、
17、以上配置中,biz表示各业务接口路径,ratio表示抽样打印日志比例;以上配置的含义为:运力号为渠道预估、个人单结算、个人单生成账单业务的抽样日志打印比重。
18、优选的,配置内容可以通过配置中心动态刷新配置。
19、与现有技术相比,本发明的有益效果是:本发明可以灵活根据各业务重要程度,动态灵活配置抽样打印日志比例,发挥打印日志优点的同时,还兼顾降低对系统的压力,从而提高系统整体吞吐量和稳定性。
技术特征:1.一种按比例采样打印日志的方法,其特征在于:具体步骤包括:s1:接收来自上游系统发起的业务请求;
2.根据权利要求1所述的一种按比例采样打印日志的方法,其特征在于:步骤s5中,通过编程语言的api,可以随机生成0~99中的其中一个数,每个数被生成的概率为百分之一。
3.根据权利要求1所述的一种按比例采样打印日志的方法,其特征在于:每个请求均在一个线程中执行,线程上下文对象属于此线程。
4.根据权利要求1所述的一种按比例采样打印日志的方法,其特征在于:所用的配置文件配置内容如下:
5.根据权利要求4所述的一种按比例采样打印日志的方法,其特征在于:配置内容可以通过配置中心动态刷新配置。
技术总结本发明公开了一种按比例采样打印日志的方法,S1:接收来自上游系统发起的业务请求;S2:在通用拦截器拦截请求前置方法中,获取当前业务请求uri,同时获取抽样打印日志比重配置;S3:通过业务请求uri获取配置中对应的比重,如果配置了则执行步骤S4,否则设置printLog=true,执行步骤S7;S4:通过业务请求uri获取配置中对应的比重;S5:随机生成0~99中一个数字;S6:比较随机生成数字和配置数字的大小,如果小于,则设置printLog=true,否则设置printLog=false;本发明可以灵活根据各业务重要程度,动态灵活配置抽样打印日志比例,发挥打印日志优点的同时,还兼顾降低对系统的压力,从而提高系统整体吞吐量和稳定性。技术研发人员:常岳受保护的技术使用者:首约科技(北京)有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/195684.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。