我有一个 C# 控制台应用程序。它正在从多个数据源收集信息并将它们集中在另一个数据源中。有时,它会遇到一些错误——连接字符串停止工作;架构更改等
目前,我只是简单地使用打印出调试信息Console.WriteLine();
——这显然是一个糟糕的主意……尤其是因为该应用程序是每晚运行的计划任务,所以无论如何我都看不到这个调试信息!
当程序失败时,我应该怎么做才能进行简单的调试?在这种情况下,我的最佳做法是什么?
非常感谢。
我有一个 C# 控制台应用程序。它正在从多个数据源收集信息并将它们集中在另一个数据源中。有时,它会遇到一些错误——连接字符串停止工作;架构更改等
目前,我只是简单地使用打印出调试信息Console.WriteLine();
——这显然是一个糟糕的主意……尤其是因为该应用程序是每晚运行的计划任务,所以无论如何我都看不到这个调试信息!
当程序失败时,我应该怎么做才能进行简单的调试?在这种情况下,我的最佳做法是什么?
非常感谢。
您可以使用日志库。 log4net似乎是最受欢迎的选择。
使用Debug.WriteLine()
. 它将打印到分配的侦听器(默认只有您的 Visual Studio 输出窗口,但您可以将其连接到控制台)。如果这是为了解决生产问题,我强烈建议在您的应用程序中实现日志记录。
查看System.Diagnostics。 对于初学者来说, Debug 类是比 , 更好的选择。Console
log4net
(由@Tim S. 链接)是用于一般诊断输出的有用框架,具有不同的严重程度。
我建议使用EventLog
该类写入应用程序事件日志(或您自己的自定义日志)。您也可以写入自己选择的自定义日志文件。然而,事件日志的优点是可以轻松地从任何机器远程查看。此外,如果此应用程序真正无人看管,您可以让它在失败时向系统管理员发送电子邮件通知。
您需要一个日志框架,例如log4net或Enterprise Library Logging Block。这些框架将允许您记录到数据库、日志文件或事件日志以供以后查看和检索。