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

时间:2020-01-23 22:38:07

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

我上了这个课:

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门户中的这些日志在哪里。我一直在寻找找不到的小时数

1 个答案:

答案 0 :(得分:1)

如果正确链接了应用程序见解并成功发送了遥测数据,则可以在应用程序见解中的这些位置找到它们。

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

位置1:

在应用程序见解->搜索->中,可以选择适当的“时间范围”和“事件类型”->然后单击“刷新”按钮。您可以看到日志:

enter image description here

位置2:在应用程序数据分析->日志中。您可以编写适当的Kusto query来查看日志。我发现您使用的是TelemetryClient.TrackTrace方法,因此您的日志应该在 traces 表中。您可以按照以下屏幕截图获取更多详细信息:

enter image description here

相关问题