Esempio n. 1
0
 /// <summary>
 /// 进行处理,合并默认值
 /// </summary>
 /// <param name="conf"></param>
 /// <returns></returns>
 public static LogConfigBase Fix(LogConfigBase conf)
 {
     if (conf.FileName.IsEmpty())
     {
         conf.FileName = Default.FileName;
     }
     if (conf.FilePath.IsEmpty())
     {
         conf.FilePath = Default.FilePath;
     }
     if (conf.Pattern.IsEmpty())
     {
         conf.Pattern = Default.Pattern;
     }
     return(conf);
 }
Esempio n. 2
0
 /// <summary>
 /// 日志入口
 /// </summary>
 /// <param name="loglevel"></param>
 /// <param name="title"></param>
 /// <param name="obj"></param>
 void Log(LogLevel loglevel, string title, params object[] obj)
 {
     if (string.IsNullOrEmpty(title.Trim()))
     {
         throw new Exception("非调试信息的日志,标题不允许为空");
     }
     try
     {
         lock (ObjectExtension.Locker)
         {
             LogConfigBase config = GetConfig(_logName);
             if (config.Loglevel > loglevel)
             {
                 return;   //判断日志级别,不正确的级别就不记日志了
             }
             switch (config.Utils)
             {
             case LogUtils.Log4Net:
             {
                 Log4Net.Log(config, _logName, loglevel, title, obj);
                 break;
             }
             }
         }
     }
     catch (DllNotFoundException ex)
     {
         throw new Exception("未找到组件" + ex.Source);
     }
     catch (FileNotFoundException ex)
     {
         throw new Exception("未找到组件" + ex.FileName);
     }
     catch (JsonReaderException ex)
     {
         throw new Exception("配置文件:" + ex.Source + "错误:" + ex.Message + ".请删除或修复配置文件");
     }
     catch (IOException ex)
     {
         throw new Exception(ex.Message);
     }
     catch (Exception ex)
     {
         //其他错误就不抛了
         throw ex;
     }
 }
Esempio n. 3
0
        /// <summary>
        /// 取配置文件,取不到就是ALL
        /// </summary>
        /// <param name="Title"></param>
        /// <returns></returns>
        internal static LogConfigBase GetConfig(string Title)
        {
            //静态里没有,就开始读文件初始化
            if (ConfigDic == null || ConfigDic.Count == 0)
            {
                ConfigDic = new Dictionary <string, LogConfigBase>();
                string path = AppDomain.CurrentDomain.BaseDirectory + @"\Log.config";
                if (File.Exists(path))
                {
                    StreamReader sr            = File.OpenText(path);
                    string       jsonArrayText = sr.ReadToEnd();
                    sr.Close();
                    ConfigDic = JsonConvert.DeserializeObject <Dictionary <string, LogConfigBase> >(jsonArrayText);
                    //没有ALL节点,加上默认
                    if (!ConfigDic.Keys.Contains("ALL"))
                    {
                        ConfigDic.Add("ALL", LogConfigBase.Default);
                    }
                }
                //不存在配置文件,加上默认
                else
                {
                    ConfigDic.Add("ALL", LogConfigBase.Default);
                }
            }

            //从静态里取配置
            if (ConfigDic.Keys.Contains(Title))
            {
                return(LogConfigBase.Fix(ConfigDic[Title]));
            }
            else
            {
                return(LogConfigBase.Fix(ConfigDic["ALL"]));
            }
        }