我的应用程序使用 Angular 7 和 Spring Boot 2 运行。每次用户与应用程序交互(单击某些按钮或链接)时,我都需要在 json 文件中存储一些数据。json 应如下所示(仅作为示例):
[
"event": {
userid : 1
ipAddress : x.x.x.x
lastConnectionDateTime : ...,
action : "click on link 1"
},
"event": {
userid : 2
ipAddress : y.y.y.y
lastConnectionDateTime : ...,
action : "click on button THE_BUTTON"
},
...
]
Run Code Online (Sandbox Code Playgroud)
我看到两个选项:
使用异步调用 Web 服务的角度拦截器手动执行此操作。然后,Web 服务将调用异步 spring 服务,将数据附加到 json 文件中。使用这个解决方案,我将不得不擦除自己一周以上的数据,这感觉就像重新造轮子。
使用 log4j2 或 logback 等日志库。在 log4j2 中,有 JsonLayout 可以帮助我使用包含“KeyValuePairs”列表的“loggerFields”来完成此操作,以将自定义字段放入我的 json 中,但我有 3 个问题: