在发布模式下写入Debug

时间:2009-08-06 09:21:53

标签: c# exception-handling debugging release

我有一个例外,我需要吞下(日志记录期间的异常),但我不希望异常信息完全丢失到时间的迷雾中,所以我想我也可以至少将其输出到调试使用< / p>

Debug.Write(ex.ToString());

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

麻烦是在发布模式下删除了Debug类 - 如何在发布模式下输出要调试的东西?

2 个答案:

答案 0 :(得分:16)

只需使用

Trace.Write(ex.ToString());

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

答案 1 :(得分:2)

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

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