【问题标题】:WPF tracing events issueWPF 跟踪事件问题
【发布时间】:2014-08-29 00:10:07
【问题描述】:

我有一些过滤器跟踪事件的问题。这是我的代码:

PresentationTraceSources.Refresh();
Stream myFile = File.Create("trace.txt");
listener = new TextWriterTraceListener(myFile);
PresentationTraceSources.RoutedEventSource.Listeners.Add(listener);
PresentationTraceSources.RoutedEventSource.Switch.Level = SourceLevels.Warning;
PresentationTraceSources.RoutedEventSource.TraceEvent(TraceEventType.Warning, 0, "Test my warning");

然后我运行我的应用程序并期望文件 trace.txt 将包含“测试我的警告”字符串,但是这个文件是空的。但是,如果我将代码中的一个字符串更改为

PresentationTraceSources.RoutedEventSource.Switch.Level = SourceLevels.All;

我可以在名为“trace.txt”的文件中看到字符串“测试我的警告”。但这总是跟踪所有事件类型,而不仅仅是警告。但我只想追踪警告。你能帮我解决这个问题吗?

【问题讨论】:

    标签: c# wpf trace listeners


    【解决方案1】:

    只需添加:

     PresentationTraceSources.RoutedEventSource.Flush();
    

    最后,它适用于任何源级别。

    实际上,一旦您拥有除SourceLevels.All 之外的另一个级别,您就必须刷新您的TraceSource 才能将其写入您的侦听器。

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 1970-01-01
      • 2019-02-25
      • 2016-11-04
      • 2015-01-17
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多