5G变1G,线上日志瘦身方法论( 二 )


2)日志合并
为了方便查问题还需要打印执行前的size , 那么将执行前的size记录在内存中 , 打印执行后日志时多打印出执行前的size 。 (合并打印)伪代码如下:
log.info("service:{},执行前size:{}",getName(),sizeBefore)
log.info("service:{},执行后size:{}",getName(),sizeBefore,sizeAfter)
合并后:
log.info("service:{},前size:{},后size:{}",getName(),sizeBefore,sizeAfter)
3)日志精简
对于最终结果 , 将结果对象(如XXDTO)转化为只包括关键信息 , 如id,title的日志对象(XXSimpleLogDTO) , 转化为日志对象后再打印 。
log.info("resultId:{}",result.getId());
或者
log.info("result:{}",toSimpleLog(result));
3、效果评估
该日志一天产生5G左右 , 这里百分之80%左右都是打印执行前后的size , 10%左右是打印最终结果,还有一些其他的日志 。
经过上述方法优化后 , 每天日志量不足1G 。
在满足排查问题的需要 , 又实现日志瘦身之间进行了取舍 。
四、总结
日志瘦身需要进行权衡 , 保留排查问题的必要日志情况下尽可能精简 。
可以采用删除不必要日志 , 合并日志 , 日志简化等方式进行优化 。
我们还可以进行一些骚操作 , 支持线上DEBUG临时提升INFO(当然也可以使用arthas)来辅助我们查问题 。
作者丨明明如月学长
来源丨网址:https://juejin.cn/post/7117046503616544804
dbaplus社群欢迎广大技术人员投稿 , 投稿邮箱:editor@dbaplus.cn
关于我们
dbaplus社群是围绕Database、BigData、AIOps的企业级专业社群 。 资深大咖、技术干货 , 每天精品原创文章推送 , 每周线上技术分享 , 每月线下技术沙龙 , 每季度Gdevops&DAMS行业大会 。
关注公众号【dbaplus社群】 , 获取更多原创技术文章和精选工具下载返回搜狐 , 查看更多
5G变1G,线上日志瘦身方法论】责任编辑: