Example #1
0
 protected virtual void LogRecordInternal(LogRecord rec)
 {
     foreach (var appender in Appenders.Where(a => a.IsLevelEnabled(rec.Level)))
     {
         appender.LogRecord(rec);
     }
 }
Example #2
0
        public ILogger Initialize(NLoggerConfigurationSection config = null, bool ignoreConfigurationSection = false)
        {
            if (config == null && !ignoreConfigurationSection)
            {
                config = ConfigurationManager.GetSection("NLoggerConfiguration") as NLoggerConfigurationSection;
            }

            if (config == null)
            {
                return(this);
            }
            if (config.Root != null)
            {
                Root.LoggingLevels = GetLoggingLevels(config.Root);
            }


            foreach (NLoggerAppender item in config.Appenders)
            {
                var type     = item.Type.Split(',');
                var appender = (ILogAppender)Activator.CreateInstance(type[1].Trim(), type[0].Trim()).Unwrap();

                appender.Parameters    = item.Parameters;
                appender.LoggingLevels = GetLoggingLevels(item);
                if (item.Pattern != null)
                {
                    appender.LogPattern = item.Pattern.Value;
                }
                appender.Name              = item.Name;
                appender.MaxQueueCache     = item.MaxQueueSize;
                appender.TimeBetweenChecks = item.TimeBetweenChecks;
                if (item.TimeSinceLastWrite != "")
                {
                    TimeSpan timeSinceLastWrite;
                    if (TimeSpan.TryParse(item.TimeSinceLastWrite, out timeSinceLastWrite))
                    {
                        appender.TimeSinceLastWrite = timeSinceLastWrite;
                    }
                }
                if (item.File != null)
                {
                    appender.Location = item.File.Location;
                    if (string.IsNullOrEmpty(item.File.MaxSize))
                    {
                        appender.MaxFileSize = 30000 * 1024;
                    }
                    else
                    {
                        appender.MaxFileSize = Convert.ToInt64(item.File.MaxSize) * 1024;
                    }
                    appender.MaxLogCount = item.File.MaxCount;
                }

                Appenders.Add(appender);
            }
            return(this);
        }
Example #3
0
        public bool IsFor(LogLevel level)
        {
            if (level < Level)
            {
                return(false);
            }
            var hasappender   = Appenders.Any(_ => level >= _.Level);
            var hassubloggers = HasSubloggers && SubLoggers.Any(_ => _.IsFor(level));

            return(hasappender || hassubloggers);
        }
Example #4
0
        private ILogger CreateGlobalLoggerForService(string instanceName)
        {
            Constraint.MustNotBeNull(Configuration, "Configuration");

            var logFilePath = Configuration.GetStringValue(GlobalSettings.Keys.LogFilePath);

            // ReSharper disable once AssignNullToNotNullAttribute
            logFilePath = string.Format(logFilePath, string.Format(".{0}", instanceName));
            logFilePath = PathHelp.RootPathIfRelative(logFilePath, AppDomain.CurrentDomain.BaseDirectory);
            return(Log4NetLogger.GetLogger(ExeAppSettings.FilePath,
                                           Appenders.Trace(),
                                           Appenders.ColouredConsole(),
                                           Appenders.EventLog(EventLogSource),
                                           Appenders.RollingFile(logFilePath, true)));
        }
Example #5
0
 public bool IsEnabled(LogLevel level)
 {
     return(LogLevel <= level &&
            LogManager.IsEnabled(level) &&
            Appenders.Any(m => m.IsLevelEnabled(level)));
 }
Example #6
0
 /// <summary>
 /// Remove the appender from the list.
 /// </summary>
 /// <param name="appender">The appender to be removed.</param>
 public void RemoveAppender(ILogAppender appender)
 {
     Appenders.Remove(appender);
 }
Example #7
0
 /// <summary>
 /// Add a new appender to the list
 /// </summary>
 /// <param name="appender">The appender to be added.</param>
 public void AddAppender(ILogAppender appender)
 {
     Appenders.Add(appender);
 }
 public static void TurnAppender(Appenders appender, OnOff onoff, bool configure)
 {
     TurnAppender(appender, onoff);
     if (configure) Configure();
 }
        /// <summary>Turn a single appender on/off programmatically
        /// configure=true to apply the configuration change immediately
        /// </summary>
        public static void TurnAppender(Appenders appender, OnOff onoff)
        {
            //turn of the RtbAppender Off if the the type is not available
            if (appender == Appenders.Rtb && onoff == OnOff.On
                && Type.GetType("Zen.Log.Appenders.RtbAppender, Zen") == null) return;

            _appenders[appender] = onoff;
        }
        /// <summary>Turn all appenders on/off programmatically, 
        /// configure=true to apply the configuration change immediately
        /// </summary>        
        public static void TurnAllAppenders(OnOff onoff)
        {
            var appenders = new Appenders[_appenders.Count];
            _appenders.Keys.CopyTo(appenders, 0);//must copy to change values during iteration

            foreach (var appender in appenders) TurnAppender(appender, onoff);
        }