在发布模式下编写调试信息

5

我有一个需要捕获的异常(在记录日志时出现的异常),但是我不想让异常信息彻底消失,因此我认为至少可以使用以下方法将其输出到调试中:

Debug.Write(ex.ToString());

这样,如果需要支持时,至少可以在出问题的计算机上使用DebugView。

问题是,在发布模式下Debug类被删除了 - 在发布模式下如何输出调试信息?

2个回答

16

只需简单地使用

Trace.Write(ex.ToString());

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


4
记得在大约14天后轮换你的日志文件,以避免硬盘被填满。 - JBRWilkinson

2
也许值得研究一些日志框架。我更喜欢log4net,它具有不同的日志级别(DEBUG,INFO,WARN,ERROR),不同的记录器(可以为应用程序的每个重要部分放置一个记录器),并且您可以通过更改配置文件为不同的记录器设置不同的调试级别。因此,如果您在某个代码区域遇到问题,您可以为该记录器设置DEBUG级别,完成后可以将原始级别恢复。
这只是冰山一角,还有许多其他功能,例如在错误时发送电子邮件或记录到数据库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接