Console.Writeline()的替代方法,用于从控制台应用程序打印调试信息?

时间:2012-07-05 13:29:52

标签: c# .net debugging testing console-application

我有一个C#控制台应用程序。它从几个数据源收集信息并将它们集中在另一个数据源中。偶尔会遇到一些错误 - 连接字符串停止工作;模式改变等。

目前,我只是使用Console.WriteLine();打印调试信息 - 这显然是一个糟糕的想法...尤其是因为应用程序是每晚运行的计划任务,所以我从未看到此调试信息反正!

如果程序失败,我该怎么做才能进行简单的调试?在这种情况下,我的最佳做法是什么?

非常感谢。

6 个答案:

答案 0 :(得分:3)

您可以使用日志记录库。 log4net似乎是最受欢迎的选择。

答案 1 :(得分:2)

使用Debug.WriteLine()。它将打印到指定的侦听器(默认只有Visual Studio输出窗口,但您可以将其连接到控制台)。如果这是为了解决生产问题,我强烈建议您在应用程序中实现日志记录。

答案 2 :(得分:2)

结帐System.Diagnostics。对于初学者来说,Debug class是比Console更好的选择。

log4net(由@Tim S.链接)是一个有用的框架,用于不同严重程度的一般诊断输出。

答案 3 :(得分:1)

您应该阅读不同的logging/error strategies

我建议您先使用像log4net这样的库,然后在其中定义日志所需的格式。

答案 4 :(得分:1)

我建议使用EventLog类写入应用程序事件日志(或您自己的自定义日志)。您也可以写入您自己选择的自定义日志文件。然而,事件日志具有可以从任何机器远程查看的优点。此外,如果此应用程序真正无人值守,您可以让它在系统管理员失败时发送电子邮件通知。

答案 5 :(得分:0)

您需要一个日志框架,例如log4netEnterprise Library Logging Block。这些框架允许您登录数据库,日志文件或事件日志,以便以后查看和检索。