Example #1
0
 internal static void ReconfigExistingLoggers(LoggingConfiguration config)
 {
     foreach (LoggerImpl logger in _loggerCache.Values)
     {
         logger.Reconfig(GetAppendersByLevelForLogger(logger.Name, config));
     }
 }
Example #2
0
        public void Resolve(LoggingConfiguration configuration)
        {
            foreach (string s in AppenderNames) {
                Appender app = configuration.FindAppenderByName(s);

                if (app != null) {
                    Appenders.Add(app);
                }
            }
        }
Example #3
0
        internal static ArrayList[] GetAppendersByLevelForLogger(string name, LoggingConfiguration config)
        {
            ArrayList[] appendersByLevel = new ArrayList[(int)LogLevel.MaxLevel + 1];
            for (int i = 0; i < appendersByLevel.Length; ++i)
            {
                appendersByLevel[i] = new ArrayList();
            }

            if (config != null)
            {
                foreach (AppenderRule rule in config.AppenderRules)
                {
                    if (rule.Appenders.Count == 0)
                        continue;

                    if (rule.Matches(name))
                    {
                        for (int i = 0; i <= (int)LogLevel.MaxLevel; ++i)
                        {
                            if (rule.IsLoggingEnabledForLevel((LogLevel)i))
                            {
                                foreach (Appender appender in rule.Appenders)
                                {
                                    appendersByLevel[i].Add(appender);
                                }
                            }
                        }
                        if (rule.Final)
                            break;
                    }
                }
            }
            return appendersByLevel;
        }