示例#1
0
        // 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);
        }
示例#2
0
 /// <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();
     }
 }