示例#1
0
        static ILogger InitializeLogger()
        {
            ICollection <IAppender> appenders       = new List <IAppender>();
            LayoutFactory           layoutFactory   = new LayoutFactory();
            AppenderFactory         appenderFactory = new AppenderFactory(layoutFactory);

            int numberOfAppenders = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfAppenders; i++)
            {
                var args = Console.ReadLine().Split();

                string appenderType = args[0];
                string layoutType   = args[1];
                string errorLevel   = "INFO";
                if (args.Length == 3)
                {
                    errorLevel = args[2];
                }

                IAppender appender = appenderFactory.GenerateAppender(appenderType, errorLevel, layoutType);
                appenders.Add(appender);
            }

            ILogger logger = new Models.Loggers.Logger(appenders);

            return(logger);
        }
示例#2
0
        static void Main(string[] args)
        {
            var simpleLayout = new SimpleLayout();
            var consoleAppender = new ConsoleAppender(simpleLayout);
            consoleAppender.ReportThreshold = ReportLevel.Error;

            var logger = new Models.Loggers.Logger(consoleAppender);

            logger.Info("Everything seems fine");
            logger.Warn("Warning: ping is too high - disconnect imminent");
            logger.Error("Error parsing request");
            logger.Critical("No connection string found in App.config");
            logger.Fatal("mscorlib.dll does not respond");
        }
示例#3
0
        static void Main(string[] args)
        {
            int appendersCount = int.Parse(Console.ReadLine());

            ICollection <IAppender> appenders       = new List <IAppender>();
            AppenderFactory         appenderFactory = new AppenderFactory();

            //dependency inversion -> AppenderFactory appenderFactory;
            ReadAppendersData(appendersCount, appenders, appenderFactory);
            //namespace conflicts
            ILogger logger = new Logger.Models.Loggers.Logger(appenders);

            Engine engine = new Engine(logger);

            engine.Run();
        }