应用系统应该收集哪些日志,目的是什么

kazaff
  • 987

回答格式:
日志类型:收集目的

望各位大神启发。

回复
阅读 4.5k
6 个回答

主要有以下作用:
1、快速定位问题
2、方便回滚
3、运营方面可以做数据统计

日志主要是为了让系统的运行留下痕迹,打印日志主要应该有这两个目的:
1. 方便定位bug
2. 进行统计,挖掘有价值的信息

人机交互界面:会形成修改数据库的操作、触发关键业务逻辑的操作
关键进程:自身的运行状态:启停或者某个步骤运行时间超长
重要的接口:入参和入参的来源,如果是多个场景都会调用这个接口,那么入参来源对定位bug会很重要
所有的日志都要有时间……

我能想到的有:

  • 一个请求ID(request id),可以是字符串或者64位整数,用于串联一个请求经过的多个模块
  • 服务类型标示符,因为一个模块可能暴露多个不同功能的接口
  • 上游请求的参数,参数过多过大的话,挑一些重要的打印出来,可以将完整的参数打印到debug log中
  • 模块返回的数据,策略同上一条
  • 模块响应时间,最好将一次请求经历的各个阶段的响应时间分别打出来,用于分析模块的性能
  • 请求过程中的错误信息,例如文件无法打开、请求下游模块失败/超时、参数不合法等等

以上这些信息的目的,1)记录当前模块性能水平、模块是否正常运行;2)出现错误可以及时知晓,并且能够找到上下游模块对应的请求,方便构造请求;3)进行产品数据分析,对产品在设计/功能上进行评估。

运维:知道找哪个码农去解决问题
码农:定位解决问题
老板:最近访问量怎么样?有没有人黑我?咦这个用户好像比较喜欢看A片而且有老婆啊,下次给他推荐情趣内衣吧
用户:最近给我推荐的情趣内衣广告好多!妈的老子实际上是单身狗

工作状态,警告&&错误

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