protected virtual void LogRecordInternal(LogRecord rec) { foreach (var appender in Appenders.Where(a => a.IsLevelEnabled(rec.Level))) { appender.LogRecord(rec); } }
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); }
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); }
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))); }
public bool IsEnabled(LogLevel level) { return(LogLevel <= level && LogManager.IsEnabled(level) && Appenders.Any(m => m.IsLevelEnabled(level))); }
/// <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); }
/// <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); }