5

我有一个我需要吞下的异常(记录期间的异常),但是我不希望异常信息完全丢失在时间的迷雾中,所以我想我至少可以输出它来调试使用

Debug.Write(ex.ToString());

这样,如果需要支持,至少可以在有问题的机器上使用 DebugView。

问题是在发布模式下删除了 Debug 类 - 如何在发布模式下输出要调试的内容?

4

2 回答 2

16

只需使用

Trace.Write(ex.ToString());

这与发布模式下的作用相同,Debug.Write(ex.ToString());但不会被删除(只要您没有在项目设置中删除 TRACE 常量的定义)

于 2009-08-06T09:25:14.483 回答
2

也许值得研究一些日志框架。我更喜欢 log4net,其中您有不同的日志记录级别(DEBUG、INFO、WARN、ERROR)、不同的记录器(您可以为应用程序的每个重要部分放置一个记录器),并且您可以为不同的记录器设置不同的调试级别,只需更改配置文件。因此,如果您在代码的某些区域遇到问题,您可以为该记录器设置 DEBUG 级别,完成后您可以将原始级别放回原处。

这只是皮毛,还有更多功能,例如发送错误电子邮件或登录到数据库。

于 2009-08-06T09:46:43.503 回答