在C#中捕获调试输出

5

在C#中,是否有可能捕获调试输出(创建调试侦听器)?

我想要像DebugView一样的功能,但我想将调试输出记录到SQL Server。或者更好的方法是让DebugView记录到文件,然后将文件提供给SQL Server?

我已经实现了TraceListener并将其添加到Debug.Listeners集合中,但它似乎只捕获来自我的应用程序的调试。我想要做的是捕获所有应用程序的调试。有没有办法这样做?


从其他应用程序中获取信息可能会很困难。例如,除非我告诉你,否则你怎么知道我的应用程序输出调试信息的方式。然而,在几乎所有情况下,只有“发布”的代码被部署,因此没有“调试”信息。因此,捕获DebugView(通过Windows Debug)提供的信息是您可以合理期望的全部。 - AMissico
@AMissico - 我知道其他应用程序输出调试信息是因为它们被编译了。我已经说过,我想做与DebugView相同的事情,但将调试信息存储到数据库中。 - Axarydax
2个回答

6

-2

除非你真的有特定需要自己编写日志记录器,否则我建议使用现有的日志框架,比如log4net。它有一个 ADO.NET appender,你可以配置它直接将调试或跟踪输出记录到 SQL Server。


我需要捕获其他应用程序的调试输出,而不仅仅是我的应用程序,因此这不是关于“记录日志的位置”,而是“如何从其他应用程序记录日志”。 - Axarydax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接