Agrife-LogTest/documents/日志规范说明.md

1.1 KiB

记录位置

Controller

Controller使用@DefaultControllerLog切面统一记录访问日志, 并且实现接口大面积失效报警功能;

需要一个 try-catch 块来捕获 Controller 内部的所有异常, 并在 catch 块中记录兜底异常日志, 如果是下游抛出的异常, 则交给下游记录日志;

Service

Service层是业务核心, 需要在核心对象创建/删除, 状态变化, 数据同步与核心流程结束, 等具有业务里程碑意义的场景记录日志, 以便于事后追踪用户行为和系统状态;

同样, 如果是下游抛出的异常, 则由下游处理, 不应该在 Service 层重复记录日志;

Utils & 跨服务调用 (RPC/HttpClient/Redis/DB/SDK)

Utils 和跨服务调用是网络波动极其多发的灾区, 需要在调用前切面/钩子记录发起目的地名称和请求摘要, 在调用返回时必须记录耗时(ms)以及对方返回的关键状态(如 HTTP Code 或三方的业务状态码), 以便于事后追踪网络问题和性能瓶颈;

同样, 如果是下游抛出的异常, 则由下游处理, 不应该在 Utils 层重复记录日志;