尝试为 Spring 引导中的请求创建 "general" 日志记录解决方案

Trying to create a "general" logging solution for requests in Spring Boot

我目前正在尝试为我正在处理的 API 中的每个请求创建一个信息日志,但我不想在控制器级别为每个请求创建一个日志,而是想尝试创建一个“包罗万象”的解决方案,但我无法实现我的目标。

我决定使用 Spring 的 @Aspect 注释开始这个想法,但使用它并不是最好的想法,因为我必须为我拥有的每个控制器创建一个方面。

经过一番挖掘,我发现了 2 条我可以尝试处理的可能的解决方案路径,@ControllerAdvice 和创建一个拦截器(理论上,这是我认为最有可能成功并成为一个干净的解决方案的想法).

问题是我找不到关于这些想法的很多信息。

对于@ControllerAdvice 的想法,我只发现它被用来处理异常,对于拦截器的想法,我没有找到任何与我想要创建的类似的东西。

这些想法是否可行?还是我应该坚持在控制器级别记录所有内容?

不确定它是否重要,但我目前正在使用 LogBack 库。

在此处查找拦截器解决方案:https://www.baeldung.com/spring-mvc-handlerinterceptor

针对不同客户端和 server-side 技术的完整请求和响应日志记录有现成的解决方案。 我正在使用 logbook 工具来跟踪我的其余端点的 request-response 信息。

https://github.com/zalando/logbook