private static IAppender CreateConsoleAppender(LogMessage.SeverityType severity) { var appender = new ColoredConsoleAppender(); appender.AddMapping(new ColoredConsoleAppender.LevelColors { ForeColor = ColoredConsoleAppender.Colors.Red, Level = Level.Error, }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { ForeColor = ColoredConsoleAppender.Colors.Green, Level = Level.Debug, }); appender.AddMapping(new ColoredConsoleAppender.LevelColors { ForeColor = ColoredConsoleAppender.Colors.White, Level = Level.Info, }); appender.Layout = new PatternLayout(LogPattern); appender.Name = "Console"; appender.Threshold = TranslateLevel(severity); appender.ActivateOptions(); var filter = new LoggerMatchFilter { AcceptOnMatch = false, LoggerToMatch = "NHibernate" }; appender.AddFilter(filter); filter = new LoggerMatchFilter { AcceptOnMatch = false, LoggerToMatch = "NHibernate.SQL" }; appender.AddFilter(filter); return(appender); }
public void InitialiseLogging() { const string layout = @"%message%newline"; var consoleOutAppender = new ColoredConsoleAppender(); var consoleErrorAppender = new ColoredConsoleAppender(); var repository = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository(); repository.Root.Level = Level.Info; consoleOutAppender.AddFilter(new LevelMatchFilter() { AcceptOnMatch = false, LevelToMatch = Level.Error }); consoleOutAppender.AddFilter(new LevelMatchFilter() { AcceptOnMatch = false, LevelToMatch = Level.Fatal }); consoleOutAppender.Layout = new PatternLayout(layout); consoleOutAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Warn, ForeColor = ColoredConsoleAppender.Colors.Yellow | ColoredConsoleAppender.Colors.HighIntensity }); consoleOutAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Info, ForeColor = ColoredConsoleAppender.Colors.White | ColoredConsoleAppender.Colors.HighIntensity }); consoleOutAppender.ActivateOptions(); BasicConfigurator.Configure(consoleOutAppender); consoleErrorAppender.Target = "Console.Error"; consoleErrorAppender.Threshold = Level.Error; consoleErrorAppender.Layout = new PatternLayout(layout); consoleErrorAppender.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Error, ForeColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); consoleErrorAppender.ActivateOptions(); BasicConfigurator.Configure(consoleErrorAppender); }
public void Filtering() { #region Log4NetFiltering var appender = new ColoredConsoleAppender { Threshold = Level.Debug, Layout = new SimpleLayout(), }; appender.AddFilter(new LoggerMatchFilter { LoggerToMatch = "MyNamespace" }); appender.AddFilter(new DenyAllFilter()); appender.ActivateOptions(); BasicConfigurator.Configure(appender); NServiceBus.Logging.LogManager.Use <Log4NetFactory>(); #endregion }
public void Filtering() { #region Log4NetFiltering ColoredConsoleAppender appender = new ColoredConsoleAppender { Threshold = Level.Debug, Layout = new SimpleLayout(), }; appender.AddFilter(new LoggerMatchFilter { LoggerToMatch = "MyNamespace" }); appender.AddFilter(new DenyAllFilter()); appender.ActivateOptions(); BasicConfigurator.Configure(appender); SetLoggingLibrary.Log4Net(); #endregion }
private static IAppender BuildConsoleAppender() { var appender = new ColoredConsoleAppender(); appender.Layout = new PatternLayout("%logger% %thread% %message%n"); appender.AddFilter(new LevelRangeFilter() { LevelMin = Level.Debug, LevelMax = Level.Fatal }); appender.AddMapping(new ColoredConsoleAppender.LevelColors() { Level = Level.Fatal, ForeColor = ColoredConsoleAppender.Colors.White, BackColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); appender.AddMapping(new ColoredConsoleAppender.LevelColors() { Level = Level.Error, ForeColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); appender.AddMapping(new ColoredConsoleAppender.LevelColors() { Level = Level.Warn, ForeColor = ColoredConsoleAppender.Colors.Yellow | ColoredConsoleAppender.Colors.HighIntensity }); appender.AddMapping(new ColoredConsoleAppender.LevelColors() { Level = Level.Info, ForeColor = ColoredConsoleAppender.Colors.White }); appender.AddMapping(new ColoredConsoleAppender.LevelColors() { Level = Level.Debug, ForeColor = ColoredConsoleAppender.Colors.Green | ColoredConsoleAppender.Colors.HighIntensity }); appender.ActivateOptions(); return(appender); }
/// <summary> /// Loads the log4net configuration either from the corresponding app.config file (see log4net for more details) or by /// statically generating a default logger. /// </summary> /// <param name="xml">If <c>true</c>, the app.config file will be loaded. Otherwise, a default configuration.</param> /// <param name="printDebug">If <c>true</c>, debug statements will be printed to console (otherwise only <c>Level.Info</c> and up).</param> public static void EnableLogging(bool xml = false, bool printDebug = false) { if (xml) { XmlConfigurator.Configure(); } else { // see https://stackoverflow.com/questions/37213848/best-way-to-access-to-log4net-wrapper-app-config Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(); PatternLayout patternLayout = new PatternLayout { ConversionPattern = "%date %level [%thread] %logger{1} - %message%newline" }; patternLayout.ActivateOptions(); // Create a colored console appender with color mappings and level range [Info, Fatal] ColoredConsoleAppender console = new ColoredConsoleAppender { Threshold = Level.All, Layout = patternLayout }; LevelRangeFilter consoleRangeFilter = new LevelRangeFilter { LevelMin = printDebug ? Level.Debug : Level.Info, LevelMax = Level.Fatal }; console.AddFilter(consoleRangeFilter); console.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Debug, ForeColor = ColoredConsoleAppender.Colors.White }); console.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Info, ForeColor = ColoredConsoleAppender.Colors.Green }); console.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Warn, ForeColor = ColoredConsoleAppender.Colors.Yellow | ColoredConsoleAppender.Colors.HighIntensity }); console.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Error, ForeColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); console.AddMapping(new ColoredConsoleAppender.LevelColors { Level = Level.Fatal, ForeColor = ColoredConsoleAppender.Colors.White | ColoredConsoleAppender.Colors.HighIntensity, BackColor = ColoredConsoleAppender.Colors.Red | ColoredConsoleAppender.Colors.HighIntensity }); console.ActivateOptions(); hierarchy.Root.AddAppender(console); // Create also an appender that writes the log to sigma.log RollingFileAppender roller = new RollingFileAppender { AppendToFile = true, File = "sigma.log", Layout = patternLayout, MaxSizeRollBackups = 5, MaximumFileSize = "15MB", RollingStyle = RollingFileAppender.RollingMode.Size, StaticLogFileName = true }; roller.ActivateOptions(); hierarchy.Root.AddAppender(roller); hierarchy.Root.Level = Level.Debug; hierarchy.Configured = true; } }