在生产环境中,一般不用debug断点,日志是定位问题的非常重要的凭据。
1. 打印日志
需要关注的信息有
接口日志:一般tomcat自带,
请求外部日志:用于判断所依赖服务可用性,以及耗时。
中间件日志:比如redis、dmq等。
业务日志:用于记录业务流程中的关键信息。
打点、流水日志:用于记录用户的操作流水,可能需要作为数据源使用。
2. 日志工具
业界比较常用的有log4j logback。需要引入logback的jar包和相关配置。配置方法可以参考:
3. 定位日志
经常需要通过查看日志来定位问题。比如巡检异常、错误
tail -f xxx.log | grep -i -C 5 'ERROR|Exception'
-C 5 表示显示关键词前后5行,还可以用-A -B分别表示后多少行和前多少行
对请求计数排序
grep -r 'get' <文件名> |grep "12:01" | grep <关键词> | cut -d "|" -f5| sort|uniq -c|sort -rn |head -n 100|cut -f1
4. 调用链与traceId