コード例 #1
0
ファイル: log.cs プロジェクト: Kevok93/logrpg
        public static void SetupLogging()
        {
            var hierarchy = (log4net.Repository.Hierarchy.Hierarchy)LogManager.GetRepository();

            var patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "[%05thread] %-5level %20logger - %message%newline";
            patternLayout.ActivateOptions();

            var console = new ManagedColoredConsoleAppender();
            var TRACE   = new ManagedColoredConsoleAppender.LevelColors(); TRACE.Level = Level.Trace; TRACE.ForeColor = ConsoleColor.White;
            var DEBUG   = new ManagedColoredConsoleAppender.LevelColors(); DEBUG.Level = Level.Debug; DEBUG.ForeColor = ConsoleColor.Green;
            var INFO    = new ManagedColoredConsoleAppender.LevelColors(); INFO.Level = Level.Info; INFO.ForeColor = ConsoleColor.Cyan;
            var WARN    = new ManagedColoredConsoleAppender.LevelColors(); WARN.Level = Level.Warn; WARN.ForeColor = ConsoleColor.Yellow;
            var ERROR   = new ManagedColoredConsoleAppender.LevelColors(); ERROR.Level = Level.Error; ERROR.ForeColor = ConsoleColor.Magenta;
            var FATAL   = new ManagedColoredConsoleAppender.LevelColors(); FATAL.Level = Level.Fatal; FATAL.ForeColor = ConsoleColor.Red;

            console.AddMapping(TRACE);
            console.AddMapping(DEBUG);
            console.AddMapping(INFO);
            console.AddMapping(WARN);
            console.AddMapping(ERROR);
            console.AddMapping(FATAL);

            console.ActivateOptions();
            console.Layout = patternLayout;
            hierarchy.Root.AddAppender(console);

            hierarchy.Root.Level = Level.Trace;
            hierarchy.Configured = true;
        }
コード例 #2
0
        private static void configure_info_logging_colors()
        {
            try
            {
                // configure INFO on same as current background color and foreground colors
                var bgColor = Console.BackgroundColor;
                var fgColor = Console.ForegroundColor;
                ILoggerRepository logRepository = LogManager.GetRepository(Assembly.GetCallingAssembly().UnderlyingType);
                foreach (var append in logRepository.GetAppenders().Where(a => a.Name.is_equal_to(NORMAL_LOGGING_COLORED_APPENDER)).or_empty_list_if_null())
                {
                    var appender = append as ManagedColoredConsoleAppender;
                    if (appender != null)
                    {
                        var infoMapping = new ManagedColoredConsoleAppender.LevelColors
                        {
                            Level     = Level.Info,
                            BackColor = bgColor,
                            ForeColor = fgColor,
                        };
                        appender.AddMapping(infoMapping);

                        // make sure warnings can be clearly seen
                        if (bgColor == ConsoleColor.White ||
                            bgColor == ConsoleColor.Gray ||
                            bgColor == ConsoleColor.Yellow ||
                            bgColor == ConsoleColor.DarkYellow ||
                            bgColor == ConsoleColor.DarkCyan
                            )
                        {
                            var warnMapping = new ManagedColoredConsoleAppender.LevelColors
                            {
                                Level     = Level.Warn,
                                BackColor = ConsoleColor.Black,
                                ForeColor = ConsoleColor.Yellow,
                            };
                            appender.AddMapping(warnMapping);
                        }

                        // make sure errors can be clearly seen
                        if (bgColor == ConsoleColor.Red ||
                            bgColor == ConsoleColor.DarkRed ||
                            bgColor == ConsoleColor.Yellow ||
                            bgColor == ConsoleColor.DarkYellow ||
                            bgColor == ConsoleColor.DarkCyan ||
                            bgColor == ConsoleColor.DarkGray ||
                            bgColor == ConsoleColor.DarkGreen ||
                            bgColor == ConsoleColor.Blue
                            )
                        {
                            var errorMapping = new ManagedColoredConsoleAppender.LevelColors
                            {
                                Level     = Level.Error,
                                BackColor = ConsoleColor.Black,
                                ForeColor = ConsoleColor.Red,
                            };
                            appender.AddMapping(errorMapping);
                        }

                        appender.ActivateOptions();
                    }
                }

                foreach (var append in logRepository.GetAppenders().Where(a => a.Name.is_equal_to(IMPORTANT_LOGGING_COLORED_APPENDER)).or_empty_list_if_null())
                {
                    var appender = append as ManagedColoredConsoleAppender;
                    if (appender != null)
                    {
                        // add black based on current background color
                        if (bgColor == ConsoleColor.White ||
                            bgColor == ConsoleColor.Gray ||
                            bgColor == ConsoleColor.Yellow ||
                            bgColor == ConsoleColor.DarkYellow ||
                            bgColor == ConsoleColor.DarkCyan ||
                            bgColor == ConsoleColor.DarkGray ||
                            bgColor == ConsoleColor.DarkGreen ||
                            bgColor == ConsoleColor.Green ||
                            bgColor == ConsoleColor.Cyan ||
                            bgColor == ConsoleColor.Magenta
                            )
                        {
                            var infoMapping = new ManagedColoredConsoleAppender.LevelColors
                            {
                                Level     = Level.Info,
                                BackColor = ConsoleColor.Black,
                                ForeColor = ConsoleColor.Green,
                            };
                            appender.AddMapping(infoMapping);

                            var warnMapping = new ManagedColoredConsoleAppender.LevelColors
                            {
                                Level     = Level.Warn,
                                BackColor = ConsoleColor.Black,
                                ForeColor = ConsoleColor.Magenta,
                            };
                            appender.AddMapping(warnMapping);

                            appender.ActivateOptions();
                        }
                    }
                }
            }
            catch (Exception)
            {
                // ignore this and move on
            }
        }