先来看下日志对于一个接口服务的作用:
- 监控服务的状态,一般程序中会增加一些跟踪或者提示性的日志,用来判断服务执行的详细情况,特别是执行一些复合功能的接口或者叫聚合接口非常有利于我们判断接口的执行情况
- 安全,用来分析调用者的身份信息,防止接口被非法恶意调用等
- 性能,可以统计每个接口的访问执行时间来分析系统的瓶颈
- 异常分析,对于线上的异常,在没有debug的环境下,要想分析问题原因最有价值的就要算异常的堆栈信息
上面的这几点需求,如果接口服务使用的是一些高级产品比如dubbo,其实它已经实现了大部分功能,不需要人为的去全部处理功能。
- 安全,可利用访问日志的功能来实现,访问日志中详细的记录了客户端调用的时间,身份,调用时的详细参数。
[DUBBO] [2016-08-27 14:47:06] 10.10.50.20:64948 -> 10.10.50.20:20960 - ProductFacadeService getDataDictionaryByType(DataDictionaryParamInfo) [{"code":0,"type":1}], dubbo version: 2.8.1, current host: 10.10.50.20
上面的日志我们可以看到如下有用的信息:
1:调用方IP以及端口信息:10.10.50.20:64948
2:
时间: 2024-08-02 21:07:53