我上了这个课:
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门户中的这些日志在哪里。我一直在寻找找不到的小时数
答案 0 :(得分:1)
如果正确链接了应用程序见解并成功发送了遥测数据,则可以在应用程序见解中的这些位置找到它们。
第一个导航到Azure门户->您在代码中链接的应用程序见解。
位置1:
在应用程序见解->搜索->中,可以选择适当的“时间范围”和“事件类型”->然后单击“刷新”按钮。您可以看到日志:
位置2:在应用程序数据分析->日志中。您可以编写适当的Kusto query来查看日志。我发现您使用的是TelemetryClient.TrackTrace
方法,因此您的日志应该在 traces 表中。您可以按照以下屏幕截图获取更多详细信息: