gpt4 book ai didi

asp.net - 异常后诊断跟踪数据消失

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

我正在使用 Azure 诊断跟踪来记录消息。配置是将每分钟记录的数据传输到 Azure 存储表。

在测试设置时我发现,如果发生无人处理的异常,之前的跟踪数据就会消失。

例如:

 Trace.WriteLine("T1");
Trace.WriteLine("T2");
Trace.WriteLine("T3");

一分钟后这将显示在 Azure 表中

 Trace.WriteLine("T1");
Trace.WriteLine("T2");
Trace.WriteLine("T3");
throw new TimeoutException();

由于异常,这不会记录数据。

我的印象是诊断应该保留数据,为什么会发生这种情况?

最佳答案

您需要调用电话

Trace.Flush();

确保数据持久化。跟踪信息缓冲在内存中,异常会导致该信息在进入可由 Azure 表传输进程拾取的诊断区域之前丢失。

您还可以在配置文件中设置 autoflush 属性,以确保每次写入后自动刷新跟踪数据:

<system.diagnostics>    
<trace autoflush="true">
...
</trace>
</system.diagnostics>

关于asp.net - 异常后诊断跟踪数据消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10001894/

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