我花了3天的时间来查看这个问题,但我找不到可靠的答案。我想捕获调试消息,然后将它们输出到列表日志。我想用C#做这个。希望社区的一些帮助能指出我正确的方向。
答案 0 :(得分:6)
嗯,确定这是可能的。调试输出不限于在输出窗口中显示。
您所要做的就是编写自定义侦听器并将其添加到Debug.Listeners
collection。您可以找到有关添加跟踪侦听器here on MSDN的完整文档。
唯一需要注意的是监听器是为调试和跟踪输出共享的,所以如果添加一个监听器,你将收到两种类型的消息。
如果这听起来太多了,你只需要一个快速而肮脏的解决方案,你可以从Sysinternals下载免费的DebugView utility。这个简洁的小工具是您运行的独立应用程序,它会侦听计算机上安装的所有程序的所有调试输出。如果使用它,您甚至不需要在应用程序中更改单行代码 - 发送到Debug.Write
的所有输出都将显示在DebugView窗口中。
或者,如果您正在寻找长期的东西,甚至可能随应用程序附带,我建议您调查添加日志记录功能。有许多优秀的开源库可以提供此功能,当您的应用程序部署到配置未知的系统时,它可以在现场非常宝贵。
答案 1 :(得分:0)
就日志记录而言,Log4Net稳固且易于使用。你可以通过NuGet将它添加到你的项目中(如果你不知道NuGet是什么,请查看它:它真的很棒)。它允许您在任何地方记录更多或更少(控制台,文件,邮件,数据库......)
网站包含良好的文档和示例。