Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
    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
    }
Пример #5
0
        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);
        }
Пример #6
0
        /// <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;
            }
        }