首页 > 解决方案 > 意外记录

问题描述

我有一个 ASP.NET Core API。我正在使用标准的 .NET Core 日志记录Microsoft.Extensions.Logging.ILogger

我看到我没有记录的日志条目。一些日志条目显示了进入 API 的 JSON 有效负载,这很好,但我没有在我的代码中的任何地方记录它。

真正困扰我的是,即使没有人调用它,它也似乎不断地击中我的一个控制器,它甚至不是一个有效的端点,它只是基本控制器。

[INF] Request starting HTTP/1.1 GET http://***.***.***.***/api/webhook (ca22a1cb)

[INF] Request finished in 0.1028ms 404 (791a596a)

“webhook”是一个控制器,但请求似乎不在控制器上的任何特定端点上。它似乎在复制上述 2 条日志语句。它与上面的块相同(请求开始和请求完成)并且总是每分钟 4 次(总共 8 次)。它们也总是在一分钟内同时出现。一组在 15 秒后,一组在 3 秒后在 18 秒后,一组在 45 秒后,最后一组在 3 秒后在 48 秒后。

标签: c#loggingasp.net-core

解决方案


在与同事合作时,我们想通了。它托管在 AWS 上,并且 AWS 配置为每 30 秒对 /api/webhook 端点(甚至不是有效的端点)进行一次健康检查,因为它失败了,它在 3 秒后再次尝试。更改运行状况检查间隔和更改端点会导致日志记录发生更改。

我一定是弄错了它显示在本地日志中。

我仍然不知道为什么 ASP.NET Core 项目首先会创建此类日志,因为我的代码没有任何日志条目,但至少现在我知道请求来自何处。


推荐阅读