Ejemplo n.º 1
0
        private static List <IAppender> CreateAppenders()
        {
            var appenders       = new List <IAppender>();
            var layoutFactory   = new LayoutFactory();
            var appenderFactory = new AppenderFactory();

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

            for (int i = 0; i < appendCount; i++)
            {
                var tokens       = Console.ReadLine().Split();
                var appenderType = tokens[0];
                var layoutType   = tokens[1];
                var errorStr     = "INFO";

                if (tokens.Length == 3)
                {
                    errorStr = tokens[2];
                }

                ILayout   layout   = layoutFactory.Create(layoutType);
                IAppender appender = appenderFactory.Create(layout, errorStr, appenderType);

                appenders.Add(appender);
            }

            return(appenders);
        }
Ejemplo n.º 2
0
        private static ILogger CreateLogger()
        {
            ICollection <IAppender> appenders       = new List <IAppender>();
            LayoutFactory           layoutFactory   = new LayoutFactory();
            FileFactory             fileFactory     = new FileFactory();
            AppenderFactory         appenderFactory = new AppenderFactory(layoutFactory, fileFactory);

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

            for (int i = 0; i < appendersCount; i++)
            {
                string[] args         = Console.ReadLine().Split();
                string   appenderType = args[0];
                string   layoutType   = args[1];
                string   level        = "";
                if (args.Length == 3)
                {
                    level = args[2];
                }

                IAppender appender = appenderFactory.Create(appenderType, layoutType, level);

                appenders.Add(appender);
            }

            ILogger logger = new Logger(appenders);

            return(logger);
        }
Ejemplo n.º 3
0
        public void Run()
        {
            int         numOfAppenders = int.Parse(Console.ReadLine());
            string      appenderType   = string.Empty;
            string      layoutType     = string.Empty;
            ReportLevel reportLevel    = 0;

            var layoutFactory   = new LayoutFactory();
            var appenderFactory = new AppenderFactory();

            var appenders = new List <IAppender>();

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

                appenderType = lines[0];
                layoutType   = lines[1];

                if (lines.Length > 2)
                {
                    reportLevel = Enum.Parse <ReportLevel>(lines[2]);
                }

                var layout   = layoutFactory.Create(layoutType);
                var appender = appenderFactory.Create(appenderType, layout, reportLevel);
                appenders.Add(appender);
                reportLevel = 0;
            }

            string input = string.Empty;

            while ((input = Console.ReadLine()) != "END")
            {
                var messages = input.Split("|");

                reportLevel = Enum.Parse <ReportLevel>(messages[0]);
                var    date    = DateTime.ParseExact(messages[1], "M/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
                string message = messages[2];

                var error  = new Error(date, reportLevel, message);
                var logger = new Logger(appenders);
                logger.Log(error);
            }

            var logFile = new LogFile();

            Console.WriteLine("Logger info");
            logFile.Write(appenders);
        }
Ejemplo n.º 4
0
        public void Run()
        {
            // Appenders proccess
            int numberOfAppenders = int.Parse(Console.ReadLine());

            IAppender[] appenders = new IAppender[numberOfAppenders];

            AppenderFactory appenderFactory = new AppenderFactory();

            appenderFactory.Create(appenders, numberOfAppenders);

            // Report proccess
            ReportFactory reportFactory = new ReportFactory();

            reportFactory.Create(appenders);
        }