// Create a new file appender public static RollingFileAppender CreateFileAppender(LoggerConfigurationElement element) { var appender = new RollingFileAppender(); appender.Name = element.LoggerName; appender.File = element.Filename; appender.AppendToFile = true; appender.RollingStyle = RollingFileAppender.RollingMode.Composite; appender.MaximumFileSize = element.MaximumFileSize; appender.MaxSizeRollBackups = element.MaxSizeRollBackups; appender.PreserveLogFileNameExtension = element.PreserveLogFileNameExtension; appender.DatePattern = element.DatePattern; var layout = new PatternLayout(); layout.ConversionPattern = "%message"; layout.ActivateOptions(); var filter = new LoggerMatchFilter(); filter.LoggerToMatch = element.LoggerName; filter.ActivateOptions(); var denyAllFilter = new DenyAllFilter(); denyAllFilter.ActivateOptions(); appender.AddFilter(filter); appender.AddFilter(denyAllFilter); appender.Layout = layout; appender.ActivateOptions(); return(appender); }
/// <summary> /// Initialize logger /// </summary> /// <param name="elemLogger">Logger configuration element</param> public virtual void Initialize(LoggerConfigurationElement cfg) { Enabled = cfg.Enabled; Synchronize = cfg.Synchronize; try { Severity = (EventSeverity)Enum.Parse(typeof(EventSeverity), cfg.Severity); } catch (Exception err) { throw new ConfigurationErrorsException(String.Format("Invalid value of Severity: {0}!", cfg.Severity), err); } if (!Synchronize) { // Asynchronize mode, start backend thread StartBackgroundThread(); } }