spring-boot - @ExceptionHandler 捕获的异常不会被 MetricsWebFilter 记录
问题描述
尝试从 web-mvc 迁移到 webflux+coroutines。遇到http.server.requests
公制记录问题。
使用 web-mvc,当使用 @RestController、@RestControllerAdvice 和多个 @ExceptionHandler 时,我在exception
metric 的标记中记录了异常类http.server.requests
。像这样http_server_requests_seconds_count{exception="CustomException",method="POST",outcome="CLIENT_ERROR",status="400",uri="/v1/users",} 1.0
但是,这拒绝按预期使用 webflux(spring boot 2.3.4)。我使用了相同的注释组件。
http_server_requests_seconds_count{exception="None",method="POST",outcome="CLIENT_ERROR",status="400",uri="/v1/users",} 1.0
在这种情况下,调用 MetricsWebFilter.onSuccess(...),它没有异常参数。仅在 @RestControllerAdvice 未捕获的异常上填充
所需的标记。exception
这似乎是一件合理的事情,但对我来说这是出乎意料的并且使服务监控变得复杂。
也许有办法实现旧行为?
解决方案
推荐阅读
- ios - 领域:如何在迁移期间修复“无效的属性名称”RLMException
- angular7 - 为什么 Ionic Native Device Plugin 在 Ionic 4 中不起作用?
- javascript - chrome.storage.sync.get 无法使用键值对按预期运行
- asp.net-mvc - 使用 razor pages 与 mvc 的正确时机
- vba - 以 X 的 Y 格式将页码添加到 Word 文档的底部
- java - 将 KafkaAvroDeserializer 与 Alpakka 一起使用
- c# - VTest 无法使用代码 1 启动 OWASP ZAP 进程
- c - 无法理解代码行的输出 -
- json - 我应该如何在我的应用程序中获取 Firebase 数据
- java - 类不能转换为 Activity