php如何快速定位生产环境bug

想要了解一下大家如何定位生产化境的bug的,看到很多朋友说加日志,但是我加哪些位置比较合适呢?
记得有一次面试,一位面试官就一直问应该在哪里加日志比较合适,当时没回答出来!

阅读 2.6k
3 个回答

如果使用框架开发的话,不少框架都有自己封装好的日志功能。
当然也可以自己写个记录日志的方法,开发的时候使用该方法进行日志记录。
日志一般都是由开发人员记录的。比如说执行某个sql语句出错,根据该sql的操作进行日志记录。
当然,你也不可能说在每个sql执行之后都写一段代码记录日志,所以日志通常都在一些比较重要的地方记录,比如涉及钱的功能。
一般生产环境的bug,都是人为提供的。比如说运营之后,发现某项功能不对,然后就有反馈了。根据反馈的bug,在其代码块添加日志,在生产环境运行并调试。

set_error_handler
set_exception_handler

基本原则是模块化,分清边界,然后一进一出的位置打log。

比如:

请求第三方,发了什么请求,收到什么响应?

连数据库,发了什么sql语句,收到什么内容

调某个函数,输入什么,输出什么。

当然,重要的一点是你在生产环境,不可能一直打这么多的日志,所以,日志应该是可以按需开关的,但有问题需要排查时,再打开相应的日志,确认完了就关闭

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏