1

我有一个 C# 控制台应用程序。它正在从多个数据源收集信息并将它们集中在另一个数据源中。有时,它会遇到一些错误——连接字符串停止工作;架构更改等

目前,我只是简单地使用打印出调试信息Console.WriteLine();——这显然是一个糟糕的主意……尤其是因为该应用程序是每晚运行的计划任务,所以无论如何我都看不到这个调试信息!

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

非常感谢。

4

6 回答 6

3

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

于 2012-07-05T13:31:35.587 回答
3

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

于 2012-07-05T13:31:43.363 回答
2

查看System.Diagnostics。 对于初学者来说, Debug 类是比 , 更好的选择。Console

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

于 2012-07-05T13:31:51.607 回答
1

您应该阅读不同的日志记录/错误策略

我建议您从使用log4net之类的库开始,您可以在其中定义您想要的日志格式。

于 2012-07-05T13:31:58.717 回答
1

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

于 2012-07-05T13:33:22.303 回答
0

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

于 2012-07-05T13:34:16.567 回答