在C#中捕获调试输出

是否可以在C#中捕获调试输出(创建调试监听器)?

我想拥有像DebugView这样的function,但我想将调试输出记录到SQL Server。 或者更好的方法是将DebugView日志记录到文件,然后将文件提供给SQL Server?

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

DbMon.NET – http://www.codeproject.com/KB/trace/DbMonNET.aspx上的 一个简单的.NET OutputDebugString捕获器似乎可以满足您的需求。

除非您确实需要自己编写记录器,否则我将使用现有的日志记录框架,例如log4net 。 它有一个ADO.NET appender,您可以将其配置为将调试或跟踪输出直接记录到SQL Server。