我有一个C#控制台应用程序。它从几个数据源收集信息并将它们集中在另一个数据源中。偶尔会遇到一些错误 - 连接字符串停止工作;模式改变等。
目前,我只是使用Console.WriteLine();
打印调试信息 - 这显然是一个糟糕的想法...尤其是因为应用程序是每晚运行的计划任务,所以我从未看到此调试信息反正!
如果程序失败,我该怎么做才能进行简单的调试?在这种情况下,我的最佳做法是什么?
非常感谢。
答案 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)
您需要一个日志框架,例如log4net或Enterprise Library Logging Block。这些框架允许您登录数据库,日志文件或事件日志,以便以后查看和检索。