方案
其实日志方案总结就两种,一种是在入口加拦截,优点是对代码没侵入,代码量少,缺点是整个系统的api需要按照一种规范去命名
另一种是在每个接口上加自定义注解,注解里面拦截
这里我选择在入口拦截
对于微服务来说最好的入口就是网关
拦截
在网关拦截请求,并拦截返回值,可以获取请求成功还是失败,网关拦截器如下。
@Override
public Object run() throws ZuulException {
RequestContext context = RequestContext.getCurrentContext();
HttpServletRequest request = context.getRequest();
HttpServletResponse response = context.getResponse();
}
可以获取request传入url和restful的请求方式判断是什么操作,通过response的code判断请求是否成功,一系列信息都可以写到日志表。
因此ulr格式最好是一种规范的格式,可以根据字符串解析知道用户操作的功能。
除了上述操作如果还需要记录什么日志,可以直接操作日志dao,新增记录即可。