示例#1
0
        /// <summary>
        /// Configures log4net using a basic console appender
        /// </summary>
        private void ConfigureLog4Net()
        {
            PatternLayout layout = new PatternLayout(
                Pattern);
            ConsoleAppender appender =
                new ConsoleAppender()
            {
                Layout = layout
            };
            //create logger (console) unrelated to global logging under XTMFRun
            LoggerMatchFilter filter = new LoggerMatchFilter
            {
                AcceptOnMatch = false,
                LoggerToMatch = "XTMFRun"
            };

            appender.AddFilter(filter);
            appender.ActivateOptions();

            //create logger (file) for global logging using name XTMFRun
            filter = new LoggerMatchFilter
            {
                AcceptOnMatch = true,
                LoggerToMatch = "XTMFRun"
            };
            BasicConfigurator.Configure(appender);
            _globalLogger = new Logger(LogManager.GetLogger("XTMFRun"));
        }
示例#2
0
        private static ConsoleAppender InitializeErrorLogger()
        {
            var errorPatternLayout = new PatternLayout
            {
                ConversionPattern = "%date %logger %level - %message%newline%exception%stacktracedetail",
                IgnoresException  = false,
            };

            errorPatternLayout.ActivateOptions();
            var filter = new LevelRangeFilter
            {
                LevelMin = Level.Warn,
                LevelMax = Level.Fatal
            };

            filter.ActivateOptions();
            var errorFileAppender = new ConsoleAppender
            {
                Layout = errorPatternLayout
            };

            errorFileAppender.AddFilter(filter);
            errorFileAppender.ActivateOptions();
            return(errorFileAppender);
        }
示例#3
0
        private static ILog ConfigureLog()
        {
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(Assembly.GetEntryAssembly());

            hierarchy.Root.RemoveAllAppenders();

            PatternLayout patternLayout = new PatternLayout();

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

            ConsoleAppender consoleErrAppender = new ConsoleAppender();

            consoleErrAppender.Layout = patternLayout;
            consoleErrAppender.ActivateOptions();
            consoleErrAppender.Target = "Console.Error";
            log4net.Filter.LevelRangeFilter errfilter = new log4net.Filter.LevelRangeFilter();
            errfilter.LevelMin = Level.Verbose;
            errfilter.LevelMax = Level.Emergency;
            consoleErrAppender.AddFilter(errfilter);
            hierarchy.Root.AddAppender(consoleErrAppender);

            hierarchy.Root.Level = Level.Info;
            if (verbosity >= 1)
            {
                hierarchy.Root.Level = Level.Debug;
            }
            hierarchy.Configured = true;

            BasicConfigurator.Configure(hierarchy, new ConsoleAppender[] { consoleErrAppender });

            return(LogManager.GetLogger(typeof(MainClass)));
        }
        private void SetupLogger()
        {
            Hierarchy     hierarchy     = (Hierarchy)LogManager.GetRepository();
            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "%date [%thread] %-5level [%class.%method] - %message%newline";
            patternLayout.ActivateOptions();
            RollingFileAppender roller = new RollingFileAppender();

            roller.AppendToFile       = false;
            roller.File               = @"ResultExporterLog.txt";
            roller.Layout             = patternLayout;
            roller.MaxSizeRollBackups = 5;
            roller.MaximumFileSize    = "1GB";
            roller.RollingStyle       = RollingFileAppender.RollingMode.Size;
            roller.StaticLogFileName  = true;
            roller.ActivateOptions();
            ConsoleAppender console = new ConsoleAppender();
            PatternLayout   consolePatternLayout = new PatternLayout();

            consolePatternLayout.ConversionPattern = "%date [Testlink Result Exporter] [%level] %message%newline";
            consolePatternLayout.ActivateOptions();
            LevelRangeFilter consoleLevelFilter = new LevelRangeFilter();

            consoleLevelFilter.LevelMin = Level.Info;
            consoleLevelFilter.LevelMax = Level.Fatal;
            console.AddFilter(consoleLevelFilter);
            console.Layout = consolePatternLayout;
            hierarchy.Root.AddAppender(roller);
            hierarchy.Root.AddAppender(console);
            hierarchy.Root.Level = Level.All;
            hierarchy.Configured = true;
        }
示例#5
0
        private static ConsoleAppender InitializeInfoLogger()
        {
            var infoPatternLayout = new PatternLayout
            {
                ConversionPattern = "%date %logger %level - %message%newline",
            };

            infoPatternLayout.ActivateOptions();

            var filter = new LevelRangeFilter
            {
                LevelMin = Level.Debug,
                LevelMax = Level.Info,
            };

            filter.ActivateOptions();
            var infofileAppender = new ConsoleAppender
            {
                Layout = infoPatternLayout,
            };

            infofileAppender.AddFilter(filter);
            infofileAppender.ActivateOptions();

            return(infofileAppender);
        }
示例#6
0
        private static void RunInDebugMode(AnonymousUserAccessMode?anonymousUserAccessMode)
        {
            var consoleAppender = new ConsoleAppender
            {
                Layout = new PatternLayout(PatternLayout.DefaultConversionPattern),
            };

            consoleAppender.AddFilter(new LoggerMatchFilter
            {
                AcceptOnMatch = true,
                LoggerToMatch = typeof(HttpServer).FullName
            });
            consoleAppender.AddFilter(new DenyAllFilter());
            BasicConfigurator.Configure(consoleAppender);
            var ravenConfiguration = new RavenConfiguration();

            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(ravenConfiguration.Port);
            if (anonymousUserAccessMode.HasValue)
            {
                ravenConfiguration.AnonymousUserAccessMode = anonymousUserAccessMode.Value;
            }
            using (new RavenDbServer(ravenConfiguration))
            {
                var path = Path.Combine(Environment.CurrentDirectory, "default.raven");
                if (File.Exists(path))
                {
                    Console.WriteLine("Loading data from: {0}", path);
                    Smuggler.Smuggler.ImportData(ravenConfiguration.ServerUrl, path);
                }

                Console.WriteLine("Raven is ready to process requests.");
                Console.WriteLine("Data directory: {0}, Port: {1}", ravenConfiguration.DataDirectory, ravenConfiguration.Port);
                Console.WriteLine("Press the enter key to stop the server or enter 'cls' and then enter to clear the log");
                while (true)
                {
                    var readLine = Console.ReadLine();
                    if (!"CLS".Equals(readLine, StringComparison.InvariantCultureIgnoreCase))
                    {
                        break;
                    }
                    Console.Clear();
                }
            }
        }
        /// <summary>
        /// Setup the console log appender and attach it to a logger.
        /// </summary>
        /// <param name="logger">The logger you want to attach the console log appender to.</param>
        /// <param name="config">The configuration for the appender.</param>
        private static void SetupConsoleLogAppender(log4netLogger logger)
        {
            var appender = new ConsoleAppender();

            appender.Name      = ConsoleLogAppenderName;
            appender.Layout    = FileLogLayout;
            appender.Threshold = Level.Warn;
            appender.AddFilter(GetNoAuditFilter());
            appender.ActivateOptions();
            logger.AddAppender(appender);
        }
示例#8
0
        private static void RunInDebugMode(Raven.Http.AnonymousUserAccessMode?anonymousUserAccessMode, RavenConfiguration ravenConfiguration)
        {
            var consoleAppender = new ConsoleAppender
            {
                Layout = new PatternLayout(PatternLayout.DefaultConversionPattern),
            };

            consoleAppender.AddFilter(new LoggerMatchFilter
            {
                AcceptOnMatch = true,
                LoggerToMatch = typeof(HttpServer).FullName
            });
            consoleAppender.AddFilter(new DenyAllFilter());
            BasicConfigurator.Configure(consoleAppender);
            NonAdminHttp.EnsureCanListenToWhenInNonAdminContext(ravenConfiguration.Port);
            if (anonymousUserAccessMode.HasValue)
            {
                ravenConfiguration.AnonymousUserAccessMode = anonymousUserAccessMode.Value;
            }
            using (new RavenMqServer(ravenConfiguration))
            {
                Console.WriteLine("RavenMQ is ready to process requests. Build {0}, Version {1}", Queues.BuildVersion, Queues.ProductVersion);
                Console.WriteLine("Data directory: {0}", ravenConfiguration.DataDirectory);
                Console.WriteLine("HostName: {0} Port: {1}, Storage: Munin", ravenConfiguration.HostName ?? "<any>",
                                  ravenConfiguration.Port);
                Console.WriteLine("Server Url: {0}", ravenConfiguration.ServerUrl);
                Console.WriteLine("Press <enter> to stop or 'cls' and <enter> to clear the log");
                while (true)
                {
                    var readLine = Console.ReadLine();
                    if (!"CLS".Equals(readLine, StringComparison.InvariantCultureIgnoreCase))
                    {
                        break;
                    }
                    Console.Clear();
                }
            }
        }
示例#9
0
        private IAppender GetConsoleAppender(LogListener listener)
        {
            var appender      = new ConsoleAppender();
            var patternLayout = new PatternLayout {
                ConversionPattern = DeafultPatternLayout
            };

            patternLayout.ActivateOptions();
            appender.Layout = patternLayout;
            appender.AddFilter(new LevelRangeFilter {
                LevelMin = _levelMap[listener.MinLevel], LevelMax = _levelMap[listener.MaxLevel]
            });
            return(appender);
        }
示例#10
0
        static void BootstrapLogger()
        {
            _appender           = new ConsoleAppender();
            _appender.Threshold = Level.Info;
            _appender.Layout    = new PatternLayout("%m%n");

            var filter = new LoggerMatchFilter();

            filter.AcceptOnMatch = false;
            filter.LoggerToMatch = "MassTransit";

            _appender.AddFilter(filter);


            BasicConfigurator.Configure(_appender);
        }
        public Log4NetFiltering()
        {
            #region Log4NetFilterUsage

            ConsoleAppender appender = new ConsoleAppender
            {
                Threshold = Level.Debug,
                Layout    = new SimpleLayout(),
            };

            appender.AddFilter(new NServiceBusLogFilter());
            appender.ActivateOptions();

            BasicConfigurator.Configure(appender);

            SetLoggingLibrary.Log4Net();

            #endregion
        }
    public Log4NetFiltering()
    {
        #region Log4NetFilterUsage

        var appender = new ConsoleAppender
        {
            Threshold = Level.Debug,
            Layout    = new SimpleLayout(),
        };

        appender.AddFilter(new NServiceBusLogFilter());
        appender.ActivateOptions();

        BasicConfigurator.Configure(appender);

        NServiceBus.Logging.LogManager.Use <Log4NetFactory>();

        #endregion
    }
示例#13
0
        internal static IAppender CreateConsoleAppender(string name)
        {
            ConsoleAppender appender = new ConsoleAppender
            {
                Name   = name + "ConsoleAppender",
                Layout = LogPatternHelper.GetConsolePatternLayout(),
            };

            // Filter to only allow INFO, ERROR and FATAL events to log to console.
            LevelRangeFilter filter = new LevelRangeFilter
            {
                LevelMin = Level.Info,
                LevelMax = Level.Fatal
            };

            appender.AddFilter(filter);

            appender.ActivateOptions();
            return(appender);
        }
    public Log4NetFiltering()
    {
        #region Log4NetFilterUsage

        var appender = new ConsoleAppender
        {
            Threshold = Level.Debug,
            Layout    = new SimpleLayout(),
        };

        appender.AddFilter(new NServiceBusLogFilter());
        appender.ActivateOptions();

        var executingAssembly = Assembly.GetExecutingAssembly();
        var repository        = log4net.LogManager.GetRepository(executingAssembly);
        BasicConfigurator.Configure(repository, appender);

        NServiceBus.Logging.LogManager.Use <Log4NetFactory>();

        #endregion
    }
示例#15
0
文件: Log.cs 项目: driesmeyers/Nitrox
        private static void Setup()
        {
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "[%d{HH:mm:ss} %logger %level]: %m%n";
            patternLayout.ActivateOptions();

            LevelRangeFilter filter = new LevelRangeFilter();

            filter.LevelMin = Level.Debug;
            filter.LevelMax = Level.Fatal;

            RollingFileAppender fileAppender = new RollingFileAppender();
            string basePath = GameInstallationFinder.Instance.FindGame();

            fileAppender.File                         = Path.Combine(basePath ?? "", "Nitrox Logs", "nitrox-.log"); // Attempt to create 'Nitrox Logs' dir where the game is.
            fileAppender.AppendToFile                 = true;
            fileAppender.RollingStyle                 = RollingFileAppender.RollingMode.Date;
            fileAppender.MaxSizeRollBackups           = 10;
            fileAppender.DatePattern                  = "yyyy-MM-dd";
            fileAppender.StaticLogFileName            = false;
            fileAppender.PreserveLogFileNameExtension = true;
            fileAppender.LockingModel                 = new FileAppender.MinimalLock();
            fileAppender.Layout                       = patternLayout;
            fileAppender.ActivateOptions();
            fileAppender.AddFilter(filter);

            ConsoleAppender consoleAppender = new ConsoleAppender();

            consoleAppender.Layout = patternLayout;
            consoleAppender.AddFilter(filter);

            hierarchy.Root.AddAppender(consoleAppender);
            hierarchy.Root.AddAppender(fileAppender);

            hierarchy.Configured = true;
        }
示例#16
0
文件: Log.cs 项目: yawaraka/Nitrox
        private static void Setup()
        {
            Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository();

            PatternLayout patternLayout = new PatternLayout();

            patternLayout.ConversionPattern = "[%d{HH:mm:ss} %level]: %m%n";
            patternLayout.ActivateOptions();

            LevelRangeFilter filter = new LevelRangeFilter();

            filter.LevelMin = Level.Debug;
            filter.LevelMax = Level.Fatal;

            RollingFileAppender fileAppender = new RollingFileAppender();

            fileAppender.File                         = "Nitrox Logs/nitrox-.log";
            fileAppender.AppendToFile                 = false;
            fileAppender.RollingStyle                 = RollingFileAppender.RollingMode.Date;
            fileAppender.MaxSizeRollBackups           = 10;
            fileAppender.DatePattern                  = "yyyy-MM-dd";
            fileAppender.StaticLogFileName            = false;
            fileAppender.PreserveLogFileNameExtension = true;
            fileAppender.LockingModel                 = new FileAppender.MinimalLock();
            fileAppender.Layout                       = patternLayout;
            fileAppender.ActivateOptions();
            fileAppender.AddFilter(filter);

            ConsoleAppender consoleAppender = new ConsoleAppender();

            consoleAppender.Layout = patternLayout;
            consoleAppender.AddFilter(filter);

            hierarchy.Root.AddAppender(consoleAppender);
            hierarchy.Root.AddAppender(fileAppender);

            hierarchy.Configured = true;
        }
示例#17
0
        static void Main()
        {
            var consoleAppender = new ConsoleAppender
            {
                Layout = new SimpleLayout(),
            };

            consoleAppender.AddFilter(new LoggerMatchFilter
            {
                AcceptOnMatch = true,
                LoggerToMatch = "Raven.Client"
            });
            consoleAppender.AddFilter(new DenyAllFilter());
            BasicConfigurator.Configure(consoleAppender);

            // start 5 instances of Raven's servers
            Console.WriteLine("Starting...");
            DeleteDirectories("Users", "Blogs", "Posts.1", "Posts.2", "Posts.3");
            var ravenDbServers = StartServers();

            Console.WriteLine("All servers started...");

            var shards = new Shards
            {
                new DocumentStore
                {
                    Identifier  = "Users",
                    Url         = "http://*****:*****@ Rahien"
                };

                session.Store(user);
                session.Store(blog);

                // we have to save to Raven to get the generated id for the blog instance
                session.SaveChanges();
                var posts = new List <Post>();
                for (var i = 0; i < 6; i++)
                {
                    var post = new Post
                    {
                        BlogId  = blog.Id,
                        UserId  = user.Id,
                        Content = "Just a post",
                        Title   = "Post #" + (i + 1)
                    };
                    posts.Add(post);
                    session.Store(post);
                }

                session.SaveChanges();
            }

            // queries
            using (var session = documentStore.OpenSession())
            {
                session.Advanced.LuceneQuery <User>().WaitForNonStaleResults().ToArray();
                session.Advanced.LuceneQuery <Blog>().WaitForNonStaleResults().ToArray();
                session.Advanced.LuceneQuery <Post>().WaitForNonStaleResults().ToArray();
            }

            // loading
            using (var session = documentStore.OpenSession())
            {
                session.Load <User>("users/ayende");
                session.Load <Blog>("blogs/1");
                session.Load <Post>("posts/1/2");
                session.Load <Post>("posts/2/2");
            }

            documentStore.Dispose();

            foreach (var server in ravenDbServers)
            {
                server.Dispose();
            }
        }