使用Application Insights在Azure上进行ASP.NET Core跟踪日志记录

时间:2017-04-14 11:11:04

标签: asp.net-core azure-application-insights asp.net-core-logging

我在Azure中部署了一个ASP.NET Core Web项目,并配置了Application Insights。 Insights正在接收请求等的数据,但我无法显示我的日志。

我正在使用vanilla Microsoft.Extensions.Logging框架并在控制器操作上记录测试错误

logger.LogError("Test application insights message");

在我的Startup.cs配置方法中,我已经设置了

loggerFactory.AddAzureWebAppDiagnostics();

...并且可以成功查看Azure日志流中出现的错误消息:

2017-04-14 11:06:00.313 +00:00 [Error] Test application insights message

但是,我还希望此消息显示在Application Insights跟踪中,但无处可寻。我想我需要配置ILoggerFactory但不确定如何找到关于该主题的文档。

提前感谢您的帮助

2 个答案:

答案 0 :(得分:10)

任何其他人试图解决这个问题,我得到了我想要的结果:

loggerFactory.AddApplicationInsights(app.ApplicationServices);

答案 1 :(得分:0)

对我来说,只有当我在我的 services.AddLogging 中将 InstrumentationKey 指定为 Startup.cs 时它才起作用:

services.AddApplicationInsightsTelemetry();

services.AddLogging(builder =>
{
    // Only Application Insights is registered as a logger provider, get the key from appSettings.json file and add application insight
    var instrumentationKey = Configuration.GetValue<string>("ApplicationInsights:InstrumentationKey");
    builder.AddApplicationInsights(instrumentationKey);
});