日志很明显是帮助大家定位到问题的一个很重要的手段,本来是想直接使用的NLog 来做系统的日志工具,哎伤不起,一变态非要说这个有很多不可控制的因素,这里我给大家讲一下我是怎么实现日志模块的,欢迎拍砖
public interface ILogTarget
    {
        /// summary>
        /// 写入追踪信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteTrack(string LogContent);
        /// summary>
        /// 写入BUG信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteBug(string LogContent);
        /// summary>
        /// 写入错误信息
        /// /summary>
        /// param name="LogContent">/param>
        void WriteError(string LogContent);
    }
/// summary>
    /// 文件日志实现类
    /// /summary>
    public class FileLog : ILogTarget
    {
        public void WriteTrack(string LogContent)
        {
            throw new NotImplementedException();
        }
        public void WriteBug(string LogContent)
        {
            throw new NotImplementedException();
        }
        public void WriteError(string LogContent)
        {
            throw new NotImplementedException();
        }
    }
public class DBLog : ILogTarget
    {
        public void WriteTrack(string LogContent)
        {
            throw new NotImplementedException();
        }
        public void WriteBug(string LogContent)
        {
            throw new NotImplementedException();
        }
        public void WriteError(string LogContent)
        {
            throw new NotImplementedException();
        }
    }
public class SmartLog
    {
        private ILogTarget _adaptee;
        public SmartLog(ILogTarget tragent)
        {
            this._adaptee = tragent;
        }
        public void WriteTrack(string LogContent)
        {
            _adaptee.WriteTrack(LogContent);
        }
        public void WriteBug(string LogContent)
        {
            _adaptee.WriteBug(LogContent);
        }
        public void WriteError(string LogContent)
        {
            _adaptee.WriteError(LogContent);
        }
    }
SmartLog log =new SmartLog (new FileLog());
log.WriteTrack("Hello word");