Spring Boot应用程序用户活动的通用日志记录

时间:2017-05-12 04:42:16

标签: spring

我有一个带有各种REST端点的Spring Boot应用程序。需要将用户活动记录到数据库。理想情况下,日志记录应该是一个单独的模块。记录的用户活动应包括用户名,客户端IP地址,活动名称/操作名称以及要更新的参数和值。不同的REST端点具有不同的请求主体实体。因此对于例如创建资源的其余端点将具有与其余端点不同的请求体,例如设置设备参数。

对于作为单独模块进行记录,我可以考虑两种方法:

  1. 使用过滤器 创建了一个日志记录过滤器并使用FilterRegistrationBean注册它,添加了对日志记录感兴趣的特定URL。我能够获取请求的请求和响应详细信息到网址。在这种情况下,无法获取被调用的操作名称。

  2. 使用Spring AOP

  3. 然而,由于请求正文实体对于不同的端点是不同的,有没有办法通常解析请求主体以获取参数及其值,以便在通用日志记录筛选器中创建类型&#的消息34;用户$ {username}对参数$ {parameters}执行$ {操作名称},值为$ {values}"?

0 个答案:

没有答案