gpt4 book ai didi

c# - Application Insights - 未收集第一个跟踪

转载 作者:行者123 更新时间:2023-12-03 04:16:42 26 4
gpt4 key购买 nike

我有一个控制台应用程序将一些日志发送到 App Insights:

public static async Task Main(string[] args)
{
Logger.Log("test1");
Logger.Log("test2");
Logger.Log("test3");
...
}

记录器看起来像这样:

public static class Logger
{
private static TelemetryClient _logger;

public static void Log(string message)
{
_GetLogger().TrackTrace(message);
_Flush();
}

private static TelemetryClient _GetLogger()
{
if (_logger is null) _logger = _GetTelemetryClient();
return _logger;
}

...
}

我发现第一条消息没有到达 AI。其他人则这样做。

对此有什么想法吗?

最佳答案

您可以尝试下面的代码,它对我有用:

在 Program.cs 中:

        public static async Task Main(string[] args)
{
Logger.Log("test 1");
Logger.Log("test 2");
Logger.Log("test 3");

await Logger.DoSomethingAsync();

}

在 Logger.cs 中:

    public static class Logger
{
private static TelemetryClient _logger;

public static void Log(string message)
{
_GetLogger().TrackTrace(message);
_Flush();
}

public static TelemetryClient _GetLogger()
{
if (_logger is null)
{
TelemetryConfiguration.Active.InstrumentationKey = "your key";
_logger = new TelemetryClient();

}

return _logger;

}

public static void _Flush()
{
if (_logger is null)
{
TelemetryConfiguration.Active.InstrumentationKey = "your key";
_logger = new TelemetryClient();

}

_logger.Flush();
}

public static async Task DoSomethingAsync()
{
await Task.Delay(1000);
}

}

执行后,所有消息都会显示在azure门户中: enter image description here

关于c# - Application Insights - 未收集第一个跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52386749/

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