How to log Trace messages with log4net?

前端 未结 4 516
北荒
北荒 2020-11-30 21:12

I\'m using log4net to log write log message to a rolling log file.

Now I would also redirect all trace messages from System.Diagnostics.Trace to that l

4条回答
  •  失恋的感觉
    2020-11-30 21:55

    According to Rune's suggestion I implemented a basic TraceListener which output to log4net:

    public class Log4netTraceListener : System.Diagnostics.TraceListener
    {
        private readonly log4net.ILog _log;
    
        public Log4netTraceListener()
        {
            _log = log4net.LogManager.GetLogger("System.Diagnostics.Redirection");
        }
    
        public Log4netTraceListener(log4net.ILog log)
        {
            _log = log;
        }
    
        public override void Write(string message)
        {
            if (_log != null)
            {
                _log.Debug(message);
            }
        }
    
        public override void WriteLine(string message)
        {
            if (_log != null)
            {
                _log.Debug(message);
            }
        }
    }
    

提交回复
热议问题