解决线上项目问题思路
线上项目出现问题,需要排查问题原因,个人认为比较高效的方法如下:
- 首先结合线上日志思考一下问题出现的最可能原因,如果找到可能原因,则想办法进行验证和解决;
- 找不到原因,大概估算一下问题能否在本地重现,重现需要哪些条件,若能重现,则直接在本地调试,一般能快速解决问题;
- 若完全无法在本地重现,则需要仔细观察线上日志,对各类日志都需要查看,优先级:stdout.log(一般包含未捕捉到的异常),error.log, warn.log, info.log;
- 在可能出问题的地方加日志,替换线上jar包,再观察日志输出;(虽然比较麻烦,但这种方法对于线上问题却有着独特的优势,因为线上日志是解决问题的第一手资料)
- 使用本地能正常运行的jar包替换线上jar包,看问题是否解决或者发生变化,若无变化,则替换配置文件,通过减小本地与线上差异,缩小问题范围。