在我們的系統中,我們同時使用Trace.Write()(舊方法)和log4net記錄。log4net - TraceListener&TraceAppender - 混合兩種記錄方法
我想統一這些方法。我添加了名爲Log4NetTraceListener的自定義偵聽器,它處理來自Trace的消息並將它們放入日誌文件中。簡化代碼:
public class Log4NetTraceListener : System.Diagnostics.TraceListener
{
public override void Write(string message)
{
_log.Debug(message);
}
它工作正常,但我想也是這樣做的記錄,甚至定期log4net的方法Visual Studio中的輸出窗口。
我的第一個想法是添加TraceAppender到log4net配置。它可以很好地工作,但與聽衆的交流會導致無限循環。
有沒有「乾淨」的方式來處理這樣的問題?也許一些過濾聽衆或appender?
難道你不能只是添加一個DebugAppender到log4net配置? – thudbutt