如何捕获WPF程序中的所有异常,以便TextWriterTraceListener在崩溃之前将其写入日志

时间:2014-03-24 09:53:57

标签: c# .net wpf vb.net

我有一个非常正常的WPF程序(在VB.net中,但同样应该与C#没有区别)并且实现了TextWriterTraceListener,它将所有内容写入日志文件。我遇到的问题是,如果有一个未被捕获的异常,那么我的应用程序崩溃并且日志文件似乎“落后”,因此它不会显示崩溃前的最后一个条目。

  1. 我可以以某种方式让TextWriterTraceListener更快地写入日志文件吗?

  2. 我已经实现了Application_DispatcherUnhandledException,但这似乎没有捕获我未处理的错误。

  3. 我知道在正确的关闭时我必须在TextWriterTraceListener对象上调用flush和close,问题是如果我的应用程序崩溃我没有机会这样做。

1 个答案:

答案 0 :(得分:2)

您是否尝试添加

AppDomain.CurrentDomain.UnhandledException += AppDomain_UnhandledException;

Application_DispatcherUnhandledException一样?