最小 API .net 核心中的 Application Insight 日志记录
Posted
技术标签:
【中文标题】最小 API .net 核心中的 Application Insight 日志记录【英文标题】:Application Insight Logging in minimal API .netcore 【发布时间】:2022-01-18 10:11:18 【问题描述】:我正在开发最少的 API,但不太确定如何添加 Azure App Insights 日志记录。
有人可以指点我的任何文档吗?
在旧版本的 .netcore API 中,我们可以通过调用 CreateWebHostBuilder 并传递 App Insight 值在程序文件中执行此操作。但我可以看到我们在最小 API 中有 WebApplicationBuilder,所以不知道如何配置日志记录到 Azure。
public class Program
public static void Main(string[] args)
CreateWebHostBuilder(args).Build().Run();
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(logging=>
logging.AddApplicationInsights("your_insturmentation_key");
logging.AddFilter<ApplicationInsightsLoggerProvider>("", LogLevel.Trace); #you can set the logLevel here
);
提前致谢。
【问题讨论】:
【参考方案1】:您可以通过在 Startup.cs
中添加以下行来添加 Application Insight:
public void ConfigureServices(IServiceCollection services)
// ....
services.AddApplicationInsightsTelemetry();
延伸阅读:Application Insights for ASP.NET Core applications
【讨论】:
感谢马丁的快速回复。因此,我已将该行添加到 Program.cs(因为最小的 API 仅具有该行)。我相信唯一的另一件事是在您添加的链接中提到的 appsettings 中添加几行(仪表键)。我会测试它并告诉你。以上是关于最小 API .net 核心中的 Application Insight 日志记录的主要内容,如果未能解决你的问题,请参考以下文章
如何从 ASP.NET 核心 mvc 向 asp.net 核心中的 Web API 发出 PUT 请求?