示例#1
0
 public static void SetOutputLogFileName(string fileName)
 {
     foreach (FileAppender appender in LoggerManager.GetAllRepositories()[0].GetAppenders())
     {
         appender.File = $"Logs\\{fileName}.log";
         appender.ActivateOptions();
     }
 }
        public void TestNumberOfLoggingRepositories()
        {
            var repositories = LoggerManager.GetAllRepositories();

            Debug.WriteLine("Found repositories: " + repositories.Select(x => x.Name).Join(", "));

            Assert.AreEqual(1, repositories.Length);
            Assert.AreEqual("log4net-default-repository", repositories[0].Name);
        }
示例#3
0
        public Loger(Type t)
        {
            var Repository = LoggerManager.GetAllRepositories().FirstOrDefault(p => p.Name == Name);

            if (Repository == null)
            {
                Repository = LoggerManager.CreateRepository(Name);
            }
            FileInfo fi = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + ("/config/log4net.config"));

            XmlConfigurator.Configure(Repository, fi);
            _instance = Repository.GetLogger(Name);
        }
示例#4
0
 /// <summary>
 /// 记录事件
 /// </summary>
 /// <param name="logEvents"></param>
 public static void LogEvent(LoggingEvent[] logEvents)
 {
     if (logEvents != null)
     {
         var repositories = LoggerManager.GetAllRepositories();
         if (repositories != null && repositories.Length > 0)
         {
             var repository = repositories[0];
             foreach (var logEvent in logEvents)
             {
                 repository.Log(logEvent);
             }
         }
     }
 }
        /// <summary>
        /// Parse a log level name into a Log Level enumeration.
        /// </summary>
        /// <param name="level"></param>
        /// <returns></returns>
        private static log4net.Core.Level ParseLevel(string level)
        {
            var loggerRepository = LoggerManager.GetAllRepositories().FirstOrDefault();

            if (loggerRepository == null)
            {
                throw new Exception("No logging repositories defined");
            }

            var stronglyTypedLevel = loggerRepository.LevelMap[level];

            if (stronglyTypedLevel == null)
            {
                throw new Exception("Invalid logging level specified");
            }

            return(stronglyTypedLevel);
        }
示例#6
0
        internal static Hierarchy GetRepository(string repositoryname)
        {
            var repositories = LoggerManager.GetAllRepositories();
            var repository   = repositories.FirstOrDefault(t => t.Name == repositoryname);

            if (repository == null)
            {
                lock (LockObj)
                {
                    repositories = LoggerManager.GetAllRepositories();
                    repository   = repositories.FirstOrDefault(t => t.Name == repositoryname);
                    if (repository == null)
                    {
                        repository = LoggerManager.CreateRepository(repositoryname);
                    }
                }
            }
            return(repository as Hierarchy);
        }
示例#7
0
        public ILog GetLog()
        {
            if (this.configurationRoot == null)
            {
                this.configurationRoot = this.GetConfigurationRoot(this.fileFolderPath, this.fileName);
            }

            IConfigurationSection          log4netSection = this.GetLog4NetConfigurationSection(this.configurationRoot);
            IEnumerable <AppenderSkeleton> appenders      = this.GetAppenders(this.configurationRoot, log4netSection);
            IConfigurationSection          loggerSection  = this.GetLoggerSection(log4netSection);

            IConfigurationSection name       = loggerSection.GetSection("name");
            string            repositoryName = String.Format("{0} Repository", name.Value);
            ILoggerRepository repository     = LoggerManager.CreateRepository(repositoryName);
            string            loggerName     = String.Format("{0} Logger", name.Value);

            IConfigurationSection level = loggerSection.GetSection("level");
            string levelName            = "All";

            if (level != null && !String.IsNullOrEmpty(level.Value))
            {
                levelName = level.Value;
            }
            ILoggerRepository loggerRepository = LoggerManager.GetAllRepositories().FirstOrDefault();
            LevelMatchFilter  filter           = new LevelMatchFilter();

            filter.LevelToMatch = loggerRepository.LevelMap[levelName];
            filter.ActivateOptions();

            foreach (var appender in appenders)
            {
                appender.AddFilter(filter);
                appender.ActivateOptions();

                BasicConfigurator.Configure(repository, appender);
            }

            ILog logger = LogManager.GetLogger(repositoryName, loggerName);

            return(logger);
        }
示例#8
0
        static Logging()
        {
            if (ConfigurationManager.AppSettings["AzureLogTable"] != null)
            {
                Level minLogLevel = null;

                var minLogLevelName = ConfigurationManager.AppSettings["LogLevel"];
                if (minLogLevelName != null)
                {
                    var map = LoggerManager.GetAllRepositories().First().LevelMap;
                    minLogLevel = map[minLogLevelName];
                }

                BasicConfigurator.Configure(new TableStorageAppender(minLogLevel));
                return;
            }

            string logConfig = ConfigurationManager.AppSettings["LogConfig"];

            if (!string.IsNullOrEmpty(logConfig))
            {
                XmlConfigurator.Configure(new System.IO.FileInfo(logConfig));
            }
        }
示例#9
0
        public void CreateMaps(IMapper mapper)
        {
            mapper.CreateMap <PropertiesDictionary, IDictionary <string, object> >()
            .ConvertUsing(props =>
            {
                string[] keys = props.GetKeys();
                IDictionary <string, object> dictionary = new Dictionary <string, object>();
                foreach (string key in keys)
                {
                    dictionary[key] = props[key];
                }
                return(dictionary);
            });

            mapper.CreateMap <IDictionary <string, object>, PropertiesDictionary>()
            .ConvertUsing(dictionary =>
            {
                PropertiesDictionary props = new PropertiesDictionary();
                foreach (var prop in dictionary)
                {
                    props[prop.Key] = prop.Value;
                }
                return(props);
            });

            mapper.CreateMap <string, Level>()
            .ConvertUsing(src =>
            {
                LevelMap map = LoggerManager.GetAllRepositories().First().LevelMap;
                IEnumerable <Level> levels = map.AllLevels.Cast <Level>();
                Level level = levels.FirstOrDefault(l => l.Name.InsensitiveEquals(src));
                return(level);
            });

            mapper.CreateMap <DroneLogDto, LoggingEventData>();
        }
示例#10
0
 /// <summary>
 /// Gets the list of currently defined repositories.
 /// </summary>
 /// <remarks>
 /// <para>
 /// Get an array of all the <see cref="ILoggerRepository"/> objects that have been created.
 /// </para>
 /// </remarks>
 /// <returns>An array of all the known <see cref="ILoggerRepository"/> objects.</returns>
 public static ILoggerRepository[] GetAllRepositories()
 {
     return(LoggerManager.GetAllRepositories());
 }
示例#11
0
 public static ILoggerRepository[] GetAllRepositories() =>
 LoggerManager.GetAllRepositories();