无法在ASP.NET Core 2.0 Razor页面中配置跟踪应用程序洞察

时间:2018-04-23 17:53:55

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

我在Visual Studio 2017中创建了一个新的ASP.NET Core 2.0 Web应用程序,从而实现了Razor Pages的实现。

在我的 Index.cshtml.cs 文件中,我实现了这个:

    public void OnGet()
    {
        Trace.TraceError("*************** INDEX ERROR ***************");
        Trace.TraceWarning("*************** INDEX WARNING ***************");
        Trace.TraceInformation("*************** INDEX INFORMATION ***************");
        Trace.WriteLine("*************** INDEX WRITELINE ***************");

        var telemetry = new Microsoft.ApplicationInsights.TelemetryClient();
        telemetry.TrackTrace("*************** INDEX TRACKTRACE ***************");
    }

我对Application Insights实例进行了所有配置。

appsettings.json

"记录":{     " IncludeScopes":false,     " LogLevel":{       "默认":"跟踪"     }   },

appsettings.Development.json

"记录":{     " IncludeScopes":false,     " LogLevel":{       "默认":"跟踪",       "系统":"信息",       "微软":"信息"     }   }

当我运行我的页面并观察日志流页面时,我可以看到telemetry.TrackTrace条目,但不能看到Trace.Trace *条目。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果您正在使用Asp.Net Core的Application Insights SDK,它只能收集使用ILogger机制发送的跟踪。如果您走这条路线,请按照此处的说明操作: https://github.com/Microsoft/ApplicationInsights-aspnetcore/wiki/Logging

但您似乎正在使用System.Diagnostics.Trace方法进行日志记录。 Application Insights可以捕获这些内容,但需要安装额外的nuget(https://www.nuget.org/packages/Microsoft.ApplicationInsights.TraceListener/2.6.0-beta3),这是支持.net核心应用程序的最新测试版。