4

我已经花了 3 天的时间查找这个,但我找不到可靠的答案。我想捕获调试消息并将它们输出到列表日志。我正在尝试在 C# 中执行此操作。希望社区提供一些帮助,为我指明正确的方向。

4

2 回答 2

7

好吧,当然这是可能的。调试输出不限于显示在输出窗口中。

您所要做的就是编写一个自定义侦听器并将其添加到Debug.Listeners集合中。您可以在 MSDN 上找到有关添加跟踪侦听器的完整文档。

唯一需要注意的是侦听器是共享的,用于调试和跟踪输出,因此如果添加一个,您将收到两种类型的消息。

如果这听起来工作量太大而您只需要一个快速而简单的解决方案,您可以从 Sysinternals下载免费的DebugView 实用程序。这个简洁的小工具是您运行的一个单独的应用程序,它监听机器上安装的所有程序的所有调试输出。如果您使用它,您甚至不必更改应用程序中的一行代码——所有发送到的输出都Debug.Write将显示在 DebugView 窗口中。

或者,如果您正在寻找甚至可以随应用程序一起提供的长期功能,我鼓励您研究添加日志功能。有很多很好的开源库提供了这个功能,当你的应用程序被部署到具有未知配置的系统时,它在现场是非常宝贵的。

于 2012-07-26T14:25:44.417 回答
0

就日志记录而言,Log4Net可靠且易于使用。您可以通过 NuGet 将其添加到您的项目中(如果您不知道 NuGet 是什么,请查看:它真的很棒)。它允许您在任何地方或多或少地记录(控制台、文件、邮件、数据库...)

网站包含良好的文档和示例。

于 2012-07-26T14:29:44.703 回答