如何重定向C#中的调试输出
本文关键字:调试 输出 重定向 | 更新日期: 2023-09-27 18:27:54
目前,我使用以下内容编写了许多状态消息:
Debug.Writeline("This is my status message");
我希望能够创建一个方法,允许我通过Debug
输出消息,或者将它们重定向到UI中的文本框。但是,Debug和Textbox对象不兼容。我如何做到这一点,使调用方可以使用相同的消息来生成输出,并让调用方法决定将其发送到哪里(即,发送到调试、UI,甚至日志文件)?
您可以创建自己的从TraceListener
派生的类,如Trace listener写入文本框(WPF应用程序)的已接受答案中所述。
注意:接受的答案详细说明了如何为C#WinForms创建自定义跟踪侦听器,尽管问题是关于WPF的。
创建自己的日志记录类,桥接调试类
interface ILog {
public void Log();
}
public DebugLog : ILog {
public DebugLog(Debug d) {} //ctor that takes Debug Object
public void Log(){}
}
public WindowLog : ILog {
public WindowLog(Text t) {} //ctor that takes window log
public void Log(){}
}