Ejemplo n.º 1
0
 /// <summary>
 /// 使能指定类型的logger
 /// </summary>
 /// <param name="loggers">使能的类型可以使用或(比如: loggers.Debug | logger.Console)</param>
 /// <param name="level"><see cref="Levels"/></param>
 public static void Enable(Loggers loggers, Levels level = Levels.Dbug)
 {
     lock (_Lock)
     {
         if (loggers.HasFlag(Loggers.Console))
         {
             if (!LoggerDict.ContainsKey(Loggers.Console))
             {
                 LoggerDict.Add(Loggers.Console, new ConsoleLogger(level));
             }
         }
         if (loggers.HasFlag(Loggers.Debug))
         {
             if (!LoggerDict.ContainsKey(Loggers.Debug))
             {
                 LoggerDict.Add(Loggers.Debug, new DebugLogger(level));
             }
         }
         if (loggers.HasFlag(Loggers.File))
         {
             if (!LoggerDict.ContainsKey(Loggers.File))
             {
                 LoggerDict.Add(Loggers.File, new FileLogger(level));
             }
         }
         foreach (var log in LoggerDict.Values)
         {
             log.Level = level;
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 禁止指定类型的记录器工作
        /// </summary>
        /// <param name="logger"><see cref="Loggers"/></param>
        public static void Disable(Loggers logger)
        {
            var enums = Enum.GetValues(typeof(Loggers));

            foreach (Loggers item in enums)
            {
                if (logger.HasFlag(item) && LoggerDict.ContainsKey(item))
                {
                    LoggerDict.Remove(item);
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 激活各种logger, 可以使用'|'位或运算
        /// </summary>
        ///     <param name="type">待激活的各种logger标志</param>
        ///     <param name="level">logger的级别, 默认为<see cref="LoggerLevel.Dbug"/></param>
        ///     <param name="fileName">[建议不要设置]fileLogger的文件名称</param>
        public static void Enable(Loggers type, LoggerLevel level = LoggerLevel.Dbug, string fileName = null)
        {
            if (type.HasFlag(Loggers.ConsoleLogger))
            {
                LoggerBase.EnsureCreat <ConsoleLogger>(level);
            }

            if (type.HasFlag(Loggers.DebugLogger))
            {
                LoggerBase.EnsureCreat <DebugLogger>(level);
            }

            if (type.HasFlag(Loggers.FileLogger))
            {
                LoggerBase.EnsureCreat <FileLogger>(level);
                if (fileName.IsNotNullOrEmptyOrSpace())
                {
                    FileLogger.FileName = fileName;
                }
                WriteInformation("Logger File created... Check [ROOT_OF_YOUR_APP]/log/");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 激活各种logger, 可以使用'|'位或运算
        /// </summary>
        ///     <param name="type">待激活的各种logger标志</param>
        ///     <param name="level">logger的级别, 默认为<see cref="LoggerLevel.Dbug"/></param>
        ///     <param name="fileName">[建议不要设置]fileLogger的文件名称</param>
        ///     <param name="isDetailMode">详细模式?</param>
        public static void Enable(Loggers type, bool isDetailMode, LoggerLevel level = LoggerLevel.Dbug, string fileName = null)
        {
            IsDetailMode = isDetailMode;
            if (type.HasFlag(Loggers.ConsoleLogger))
            {
                LoggerBase.EnsureCreat <ConsoleLogger>(level);
            }

            if (type.HasFlag(Loggers.DebugLogger))
            {
                LoggerBase.EnsureCreat <DebugLogger>(level);
            }

            if (type.HasFlag(Loggers.FileLogger))
            {
                LoggerBase.EnsureCreat <FileLogger>(level);
                if (fileName.IsNotNullOrEmptyOrSpace())
                {
                    FileLogger.FileName = fileName;
                }
                Info("Logger File [Created]... Check [ROOT_OF_YOUR_APP]/log/");
            }
        }