首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >诊断跟踪数据在异常后消失

诊断跟踪数据在异常后消失
EN

Stack Overflow用户
提问于 2012-04-04 05:46:30
回答 1查看 184关注 0票数 1

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

在测试设置时,我发现在出现非手动异常的情况下,以前的跟踪数据会消失。

例如:

代码语言:javascript
复制
 Trace.WriteLine("T1");
 Trace.WriteLine("T2");
 Trace.WriteLine("T3");

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

代码语言:javascript
复制
 Trace.WriteLine("T1");
 Trace.WriteLine("T2");
 Trace.WriteLine("T3");
 throw new TimeoutException();

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 05:47:39

您需要调用

代码语言:javascript
复制
Trace.Flush();

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

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

代码语言:javascript
复制
<system.diagnostics>    
  <trace autoflush="true">
    ...
  </trace>
</system.diagnostics>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10001894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档