0

我正在努力解决有关弹簧引导执行器日志记录的问题。我有一个集成了弹簧启动执行器和普罗米修斯作为监控系统的应用程序。我已启用/执行机构/普罗米修斯端点位于应用程序.属性文件。中的刮削间隔普罗米修斯.yml为2秒。因此,每个2sGET请求都会发送给应用程序,它会记录在应用程序日志中,因此会向日志文件发送垃圾邮件。我想以某种方式禁用它。如果我关掉日志.level.org.springframework.web这样我就不会收到其他每个端点的HTTP请求日志。我不想要这种行为,我只想禁用执行器端点的日志,并且只有在它们返回的情况下200好作为回应。

我看到一些解决方案建议创建单独的Filter-Bean方法,该方法将规则加入/排除所需的端点。但我不希望应用程序是特定于URL的,因为如果明天普罗米修斯的基本URL发生更改,那么我将不得不在代码中到处更新它。相反,我想要一些简单的配置,比如logging.level.org.springframework.actuate.endpoint.prometheus=关闭这将有助于轻松维护应用程序。

NP:我已经试过使用logging.level.org.springframework.boot.actuate.metrics.export.prometheus=off/error-logging.lever.org.spring framework.actuate.endpoint.prometheus=off/error但这些都不起作用。

请建议是否有人解决了这个问题。

垃圾邮件日志示例:

#TYPE system_cpu_使用量表s(截断)…]22-05-2024 12:39:55.387[http-nio-8082-exec-6]DEBUG o.s.web.servlet。FrameworkServlet.logResult:1131-完成200 OK2024年5月22日12:39:57.376[http-nio-8082-exec-7]调试o.s.core.log。LogFormatUtils.traceDebug:91-GET“/actuator/prometheus”,参数={}22-05-2024 12:39:57.425[http-nio-8082-exec-7]DEBUG o.s.w.s.m.a.AbstractMessageConverterMethodProcessor.writeWithMessageConverter:255-使用“text/plain;版本=0.0.4;charset=utf-8;q=0.3',给定[application/openmetrics文本;版本=1.0.0;q=0.5,application/openmetrics文本;版本=0.0.1;q=0.4,text/plain;版本=0.0.4;q=0.3,*/*;q=0.2],并支持[text/plain;版本=0.0.4;字符集=utf-8]22-05-2024 12:39:57.425[http-nio-8082-exec-7]调试o.s.core.log。LogFormatUtils.traceDebug:91-写入[“#HELP system_cpu_usage整个系统的“最近cpu使用情况”#TYPE system_cpu_使用量表s(截断)…]
  • 第一个问题是,你为什么还要记录这些呢?它们污染了你的伐木。您唯一的选择是为日志记录提供程序编写一个过滤器来过滤掉这些内容。 评论 5月22日7:15
  • 记录其他所需端点的目的是跟踪请求实际传入和响应实际传出的时间。由于我的应用程序处理金融交易,因此我必须经常检查它们,以监控交易中的延迟。 评论 5月22日7:31
  • 我不是在质疑你的用例,我是在质疑你是否使用了DEBUG日志功能,而不是为此编写一个专用组件。您不应该在生产环境中运行DEBUG。 评论 5月22日8:00

0

重置为默认值

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.