zoukankan      html  css  js  c++  java
  • 类库里面添加日志记录 log4net

    第一步:

    新建一个公共类库common,添加CustomLog4jLogger.cs 并引用log4net.dll

    /// <summary>
        /// 日志记录
        /// </summary>
        public class CustomLog4jLogger
        {
            /// <summary>
            /// 日志
            /// </summary>
            public static ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    
            /// <summary>
            /// 日志
            /// </summary>
            /// <param name="funcstr">方法名称</param>
            /// <param name="message">日志描述</param>
            /// <param name="args">方法参数</param>
            /// <param name="type">类别,1:错误日志,2:操作日志</param>
            private static void Log(string apikey, string funcstr, string message, string args, int type)
            {
                switch (type)
                {
                    case 1:
                        Logger.Error(string.Format("Func:{0} | Error:{1} | Args:{2}", funcstr, message, args));
                        break;
                    case 2:
                        Logger.Info(string.Format("Key:{0} | Func:{1} | Message:{2}", apikey, funcstr, message));
                        break;
                    case 3:
                        Logger.Warn(message);
                        break;
                }
            }
            /// <summary>
            /// 错误日志
            /// </summary>
            /// <param name="funcstr">方法名称</param>
            /// <param name="message">错误信息</param>
            /// <param name="args">方法参数</param>
            public static void LogDebug(string funcstr, string message, string args)
            {
                Log("", funcstr, message, args, 1);
            }
            /// <summary>
            /// 错误日志
            /// </summary>
            /// <param name="funcstr">方法名称</param>
            /// <param name="message">错误信息</param>
            public static void LogDebug(string funcstr, string message)
            {
                LogDebug(funcstr, message, "");
            }
            /// <summary>
            /// 错误日志
            /// </summary>
            /// <param name="message">错误信息</param>
            public static void LogDebug(string message)
            {
                LogDebug("", message);
            }
    
            /// <summary>
            /// 运行日志
            /// </summary>
            /// <param name="message">运行信息</param>
            public static void LogInfo(string message)
            {
                LogInfo("", message);
            }
            /// <summary>
            /// 运行日志
            /// </summary>
            /// <param name="funcstr">方法名称</param>
            /// <param name="message">运行信息</param>
            /// <param name="args">方法参数</param>
            public static void LogInfo(string funcstr, string message)
            {
                LogInfo("", funcstr, message);
            }
            /// <summary>
            /// 运行日志
            /// </summary>
            /// <param name="apikey">应用的apikey</param>
            /// <param name="funcstr">方法名称</param>
            /// <param name="message">运行信息</param>
            /// <param name="args">方法参数</param>
            public static void LogInfo(string apikey, string funcstr, string message)
            {
                Log(apikey, funcstr, message, "", 2);
            }
    
            public static void LogEvent(string message)
            {
                Log("", "", message, "", 3);
            }
        }
    

      第二步:

    在需要记录日志的类库里,引用common类库,调用:

    CustomLog4jLogger.LogInfo("xxxxxx");
    第三步:
    在调用类库的程序里添加log4net.config(在附件里)并引用log4net.dll
    程序调用:
      static void Main(string[] args)
            {
                try
                {
                    log4net.Config.XmlConfigurator.Configure(new FileInfo(Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "log4net.config")));
    }
    }
    

      

    附件
  • 相关阅读:
    3 Redis 的常用五大数据类型
    Oracle12C 基本操作和使用
    CentOS7安装VNC服务
    CentOS7.6 安装Oracle12C(下)
    CentOS7.6 安装Oracle12C(上)
    博主创建了一个AGV吧的Discuz,欢迎各位加入进来
    六、openTCS4.17汉化版源码包含通信DEMO,gitee地址见内容
    毕马威图形数独
    五、OpenTCS4.12的模拟运行
    四、通过Socket实现跟AGV小车通信(仅做Demo演示,跟实际工厂运行无关)
  • 原文地址:https://www.cnblogs.com/yhdkzy/p/3981514.html
Copyright © 2011-2022 走看看