zoukankan      html  css  js  c++  java
  • Log4Net 帮助类

    //[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
    namespace LogNet
    {
        /// <summary>
        /// Author     :TonyKit
        /// Date       :2016-09-25
        /// Description:日志辅助类
        /// </summary>
        public class Logger
        {
            #region [ 单例模式 ]
            private static readonly Logger _logger = new Logger();
            private static readonly log4net.ILog _Logger4net = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    
            /// <summary>
            /// 无参私有构造函数
            /// </summary>
            private Logger()
            {
            }
    
            /// <summary>
            /// 得到单例
            /// </summary>
            public static Logger Singleton
            {
                get
                {
                    return _logger;
                }
            }
            #endregion
    
            #region [ 参数 ]
            public bool IsDebugEnabled
            {
                get { return _Logger4net.IsDebugEnabled; }
            }
            public bool IsInfoEnabled
            {
                get { return _Logger4net.IsInfoEnabled; }
            }
            public bool IsWarnEnabled
            {
                get { return _Logger4net.IsWarnEnabled; }
            }
            public bool IsErrorEnabled
            {
                get { return _Logger4net.IsErrorEnabled; }
            }
            public bool IsFatalEnabled
            {
                get { return _Logger4net.IsFatalEnabled; }
            }
            #endregion
    
            #region [ 接口方法 ]
    
            #region [ Debug ]
            public void Debug(string message)
            {
                if (this.IsDebugEnabled)
                {
                    this.Log(LogLevel.Debug, message);
                }
            }
    
            public void Debug(string message, Exception exception)
            {
                if (this.IsDebugEnabled)
                {
                    this.Log(LogLevel.Debug, message, exception);
                }
            }
    
            public void DebugFormat(string format, params object[] args)
            {
                if (this.IsDebugEnabled)
                {
                    this.Log(LogLevel.Debug, format, args);
                }
            }
    
            public void DebugFormat(string format, Exception exception, params object[] args)
            {
                if (this.IsDebugEnabled)
                {
                    this.Log(LogLevel.Debug, string.Format(format, args), exception);
                }
            }
            #endregion
    
            #region [ Info ]
            public void Info(string message)
            {
                if (this.IsInfoEnabled)
                {
                    this.Log(LogLevel.Info, message);
                }
            }
    
            public void Info(string message, Exception exception)
            {
                if (this.IsInfoEnabled)
                {
                    this.Log(LogLevel.Info, message, exception);
                }
            }
    
            public void InfoFormat(string format, params object[] args)
            {
                if (this.IsInfoEnabled)
                {
                    this.Log(LogLevel.Info, format, args);
                }
            }
    
            public void InfoFormat(string format, Exception exception, params object[] args)
            {
                if (this.IsInfoEnabled)
                {
                    this.Log(LogLevel.Info, string.Format(format, args), exception);
                }
            }
            #endregion
    
            #region  [ Warn ]
    
            public void Warn(string message)
            {
                if (this.IsWarnEnabled)
                {
                    this.Log(LogLevel.Warn, message);
                }
            }
    
            public void Warn(string message, Exception exception)
            {
                if (this.IsWarnEnabled)
                {
                    this.Log(LogLevel.Warn, message, exception);
                }
            }
    
            public void WarnFormat(string format, params object[] args)
            {
                if (this.IsWarnEnabled)
                {
                    this.Log(LogLevel.Warn, format, args);
                }
            }
    
            public void WarnFormat(string format, Exception exception, params object[] args)
            {
                if (this.IsWarnEnabled)
                {
                    this.Log(LogLevel.Warn, string.Format(format, args), exception);
                }
            }
            #endregion
    
            #region  [ Error ]
    
            public void Error(string message)
            {
                if (this.IsErrorEnabled)
                {
                    this.Log(LogLevel.Error, message);
                }
            }
    
            public void Error(string message, Exception exception)
            {
                if (this.IsErrorEnabled)
                {
                    this.Log(LogLevel.Error, message, exception);
                }
            }
    
            public void ErrorFormat(string format, params object[] args)
            {
                if (this.IsErrorEnabled)
                {
                    this.Log(LogLevel.Error, format, args);
                }
            }
    
            public void ErrorFormat(string format, Exception exception, params object[] args)
            {
                if (this.IsErrorEnabled)
                {
                    this.Log(LogLevel.Error, string.Format(format, args), exception);
                }
            }
            #endregion
    
            #region  [ Fatal ]
    
            public void Fatal(string message)
            {
                if (this.IsFatalEnabled)
                {
                    this.Log(LogLevel.Fatal, message);
                }
            }
    
            public void Fatal(string message, Exception exception)
            {
                if (this.IsFatalEnabled)
                {
                    this.Log(LogLevel.Fatal, message, exception);
                }
            }
    
            public void FatalFormat(string format, params object[] args)
            {
                if (this.IsFatalEnabled)
                {
                    this.Log(LogLevel.Fatal, format, args);
                }
            }
    
            public void FatalFormat(string format, Exception exception, params object[] args)
            {
                if (this.IsFatalEnabled)
                {
                    this.Log(LogLevel.Fatal, string.Format(format, args), exception);
                }
            }
            #endregion
            #endregion
    
            #region [ 内部方法 ]
            /// <summary>
            /// 输出普通日志
            /// </summary>
            /// <param name="level"></param>
            /// <param name="format"></param>
            /// <param name="args"></param>
            private void Log(LogLevel level, string format, params object[] args)
            {
                switch (level)
                {
                    case LogLevel.Debug:
                        _Logger4net.DebugFormat(format, args);
                        break;
                    case LogLevel.Info:
                        _Logger4net.InfoFormat(format, args);
                        break;
                    case LogLevel.Warn:
                        _Logger4net.WarnFormat(format, args);
                        break;
                    case LogLevel.Error:
                        _Logger4net.ErrorFormat(format, args);
                        break;
                    case LogLevel.Fatal:
                        _Logger4net.FatalFormat(format, args);
                        break;
                }
            }
    
            /// <summary>
            /// 格式化输出异常信息
            /// </summary>
            /// <param name="level"></param>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            private void Log(LogLevel level, string message, Exception exception)
            {
                switch (level)
                {
                    case LogLevel.Debug:
                        _Logger4net.Debug(message, exception);
                        break;
                    case LogLevel.Info:
                        _Logger4net.Info(message, exception);
                        break;
                    case LogLevel.Warn:
                        _Logger4net.Warn(message, exception);
                        break;
                    case LogLevel.Error:
                        _Logger4net.Error(message, exception);
                        break;
                    case LogLevel.Fatal:
                        _Logger4net.Fatal(message, exception);
                        break;
                }
            }
            #endregion
        }
    
    
        #region [ enum: LogLevel ]
        /// <summary>
        /// 日志级别
        /// </summary>
        public enum LogLevel
        {
            Debug,
            Info,
            Warn,
            Error,
            Fatal
        }
        #endregion
    }
    View Code
  • 相关阅读:
    数据库压力测试的参考地址
    Infopath表单部署到Farm的方法
    oracle 的几个开发工具比较
    智能Web算法/NLP 参考图书
    Wireshark & Ethereal包分析工具【图书节选】
    Sharepoint内置的”翻译管理库”体验
    开发相关“视频公开课webcast”资源地址
    读书:架构师的12项技能 12 ESSENTIAL SKILLS FOR SOFTWARE ARCHITECTS
    Linux 下Oracle Client JAVA JDBC 集成点滴
    MOS2010的界面介绍和定制方法简介【资料汇集】
  • 原文地址:https://www.cnblogs.com/housh/p/5843942.html
Copyright © 2011-2022 走看看