gpt4 book ai didi

azure - Application Insights - 记录异常

转载 作者:行者123 更新时间:2023-12-04 10:36:06 25 4
gpt4 key购买 nike

我在我的应用程序中为 Application Insights 编写了一个自定义记录器。在 Azure 门户中查看 App Insights 时,我没有看到任何异常或任何事件。这是记录器类代码,当我调试代码时,我确实看到分配给 InstrumentationKey 属性的键,您知道我在这里做错了什么吗?我需要将其他信息附加到客户端或配置吗?

public class AppInsightsLogger:ILogger
{
private TelemetryClient ai;

public AppInsightsLogger()
{
ai = new TelemetryClient();
if (string.IsNullOrEmpty(ai.InstrumentationKey))
{
// attempt to load instrumentation key from app settings
var appSettingsTiKey = AppSettings.InsightsKey;
if (!string.IsNullOrEmpty(appSettingsTiKey))
{
TelemetryConfiguration.Active.InstrumentationKey = appSettingsTiKey;
ai.InstrumentationKey = appSettingsTiKey;
}
else
{
throw new Exception("Could not find instrumentation key for Application Insights");
}
}
}
public void LogException(Exception ex)
{
ai.TrackException(ex);
}
}

最佳答案

我创建了一个新的控制台应用程序,安装了最新的稳定ApplicationInsights SDK,并几乎保留了您的示例,有细微但重要的区别 - 我要么让它在调用 TrackException 后关闭之前等待,要么添加 TelemetryClient.Flush()

namespace logtest
{
class Program
{
static void Main(string[] args)
{
AppInsightsLogger logger = new AppInsightsLogger();
logger.LogException(new InvalidOperationException("Is data showing?"));

// either wait for a couple of minutes for the batch to be sent of add ai.Flush() after ai.TrackException() to send the batch immediately
Console.ReadLine();
}
}

public class AppInsightsLogger
{
private TelemetryClient ai;

public AppInsightsLogger()
{
ai = new TelemetryClient();
if (string.IsNullOrEmpty(ai.InstrumentationKey))
{
// attempt to load instrumentation key from app settings
var appSettingsTiKey = "<ikey>";
if (!string.IsNullOrEmpty(appSettingsTiKey))
{
TelemetryConfiguration.Active.InstrumentationKey = appSettingsTiKey;
ai.InstrumentationKey = appSettingsTiKey;
}
else
{
throw new Exception("Could not find instrumentation key for Application Insights");
}
}
}
public void LogException(Exception ex)
{
ai.TrackException(ex);
// ai.Flush();
}
}
}

首先,我可以看到 Visual Studio 调试输出窗口中发送的遥测项目: enter image description here

然后我可以在 Fiddler 中看到遥测数据离开我的机器,我还可以看到它已被我们的数据收集端点成功接受。 enter image description here

最后我可以在门户中看到它:

enter image description here

关于azure - Application Insights - 记录异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35048825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com