【发布时间】:2022-01-18 11:29:51
【问题描述】:
我有一个托管在 Azure 上的简单 .Net Core 3.1 Web API,并且对应用程序的索引路由进行了过多的运行状况检查,这些消息使日志泛滥:
INFO 2021-12-15 09:48:57,710 [22 ] Microsoft.AspNetCore.Hosting.Diagnostics - Request starting HTTP/1.1 GET http://localhost:21021/
INFO 2021-12-15 09:48:57,714 [22 ] ft.AspNetCore.Routing.EndpointMiddleware - Executing endpoint '<RedactedApplicationName>.Web.Host.Controllers.HomeController.Index (<RedactedApplicationName>.Web.Host)'
INFO 2021-12-15 09:48:57,718 [22 ] c.Infrastructure.ControllerActionInvoker - Route matched with {action = "Index", controller = "Home", area = ""}. Executing controller action with signature Microsoft.AspNetCore.Mvc.IActionResult Index() on controller <RedactedApplicationName>.Web.Host.Controllers.HomeController (<RedactedApplicationName>.Web.Host).
INFO 2021-12-15 09:48:57,735 [22 ] c.Infrastructure.ControllerActionInvoker - Executing action method <RedactedApplicationName>.Web.Host.Controllers.HomeController.Index (<RedactedApplicationName>.Web.Host) - Validation state: Valid
INFO 2021-12-15 09:48:57,736 [22 ] c.Infrastructure.ControllerActionInvoker - Executed action method <RedactedApplicationName>.Web.Host.Controllers.HomeController.Index (<RedactedApplicationName>.Web.Host), returned result Microsoft.AspNetCore.Mvc.RedirectResult in 0.0337ms.
INFO 2021-12-15 09:48:57,738 [22 ] vc.Infrastructure.RedirectResultExecutor - Executing RedirectResult, redirecting to /swagger.
INFO 2021-12-15 09:48:57,740 [22 ] c.Infrastructure.ControllerActionInvoker - Executed action <RedactedApplicationName>.Web.Host.Controllers.HomeController.Index (<RedactedApplicationName>.Web.Host) in 20.0366ms
INFO 2021-12-15 09:48:57,741 [22 ] ft.AspNetCore.Routing.EndpointMiddleware - Executed endpoint '<RedactedApplicationName>.Web.Host.Controllers.HomeController.Index (<RedactedApplicationName>.Web.Host)'
INFO 2021-12-15 09:48:57,744 [22 ] Microsoft.AspNetCore.Hosting.Diagnostics - Request finished in 33.7378ms 302
INFO 2021-12-15 09:48:57,749 [19 ] Microsoft.AspNetCore.Hosting.Diagnostics - Request starting HTTP/1.1 GET http://localhost:21021/swagger/index.html
INFO 2021-12-15 09:48:57,758 [6 ] Microsoft.AspNetCore.Hosting.Diagnostics - Request finished in 9.0414ms 200 text/html;charset=utf-8
我仍然希望保留信息级别的日志,因为我正在记录我希望在其他地方看到的其他信息。端点如下所示:
public IActionResult Index()
{
return Redirect("/swagger");
}
是否有一个注释可以用来禁用这个单一控制器端点的日志记录?
【问题讨论】:
-
添加运行状况检查中间件并将 Azure 的运行状况检查指向该路径不是更有意义吗?重定向到招摇页面进行健康检查是浪费资源恕我直言
-
@CamiloTerevinto 这听起来是个好主意。我有一个 Azure Front Door,它发送这些运行状况探测来检查后端运行状况。您知道如何更改它将运行状况探测发送到的端点吗?我找不到前门的那个选项。
-
转到 Front Door Designer > 选择后端池 > 启用运行状况探测 > 更改路径(状态正下方)
标签: c# asp.net-core