分享

定位BUG之日志【巧妙的日志设计】

 WindySky 2017-08-01


定位生产问题,查看日志是基本技能,必须牢牢掌握
tail -f xxx.log


grep -r 'traceID' *.log   不会这些命令的,可以考虑放弃JAVA。




当框架里代码层次特别深时,定位一个问题,相关日志显示的很凌乱,没有一个关联的关键词。
测试环境,感觉不出来。当上了生产环境,日志海量的打印。找一个数据的完整流程日志往往向大海捞针。


这时如果你把打印日志的方法定制,加上一个traceID 唯一的数据ID,可以UUID生成,也可以用日期加随机数,反正能保证唯一就行。


入参对象xxx【traceID20170708112233abc】
异常信息xxx【traceID20170708112233abc】
SQLxxxxxx【traceID20170708112233abc】
出参对象xxx【traceID20170708112233abc】
可能分布在不同 XXX.log文件中


通过20170708112233abc,grep -r '20170708112233abc' *.log
一下子就把数据相关的日志都搜索出来了。
是不是,很方便。




一般传统项目,traceID应该非常好设计。
对于微服务的架构,少者十多个maven工程,多者三四十个maven工程,工程之间怎么传递traceID,后续在分解
提示,利用一个上下文对象,贯穿整个服务。     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多