Azure 门户中的 Application Insights 遥测日志位于何处

Where are located Application Insights Telemetry logs in Azure Portal

我有这个class:

public class TelemetryHelper : ITelemetryHelper
{
    private TelemetryClient TelemetryClient { get; set; }

    public TelemetryHelper()
    {
        TelemetryConfiguration configuration = TelemetryConfiguration.CreateDefault();
        configuration.InstrumentationKey = ConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"];
        TelemetryClient = new TelemetryClient(configuration);
    }

    #region Input

    public Task InfoAsync(DebugMessageType tag = DebugMessageType.Other, string message = null, Exception ex = null, [CallerMemberName] string callerFunction = "", [CallerLineNumber] int lineNumber = 0)
        => OutputInApplicationInsightsAsync(SeverityLevel.Information, tag, message, ex, callerFunction);

    public Task ErrorAsync(DebugMessageType tag = DebugMessageType.Other, string message = null, Exception ex = null, [CallerMemberName] string callerFunction = "", [CallerLineNumber] int lineNumber = 0)
        => OutputInApplicationInsightsAsync(SeverityLevel.Error, tag, message, ex, callerFunction);

    public Task WarnAsync(DebugMessageType tag = DebugMessageType.Other, string message = null, Exception ex = null, [CallerMemberName] string callerFunction = "", [CallerLineNumber] int lineNumber = 0)
        => OutputInApplicationInsightsAsync(SeverityLevel.Warning, tag, message, ex, callerFunction);

    #endregion Input

    private Task OutputInApplicationInsightsAsync(SeverityLevel level, DebugMessageType tag = DebugMessageType.Other, string message = null, Exception ex = null, string callerFunction = "")
    {
        var properties = new Dictionary<string, string> { { "Tag", tag.ToString() } };

        if (!string.IsNullOrWhiteSpace(callerFunction))
            properties.Add("CallerFunction", callerFunction);

        if (ex != null)
            properties.Add("Exception", ex.ToString());

        TelemetryClient.TrackTrace(message, level, properties);
        return Task.CompletedTask;
    }
}

我可以这样使用它:

await TelemetryHelper.ErrorAsync(DebugMessageType.Service, ex.Message, ex, nameof(this.RunRemoveTasksAsync));

但是,有人能告诉我 Azure 门户中的这些日志在哪里吗。我已经搜索了好几个小时都找不到

如果 application insights 链接正确并且遥测数据发送成功,您可以通过 application insights 中的这些位置找到它。

首先导航到 Azure 门户 -> 您在代码中链接的应用程序见解。

位置 1:

在 application insights -> Search -> 你可以 select 适当的 "time range" 和 "event type" -> 然后点击 "Refresh" 按钮。可以看到日志:

位置 2: 在应用程序洞察 -> 日志中。您可以编写正确的 Kusto query 来查看您的日志。我看到您正在使用 TelemetryClient.TrackTrace 方法,因此您的日志应该在 traces table 中。您可以按照下面的屏幕截图了解更多详细信息: