コード例 #1
0
ファイル: Engine.cs プロジェクト: IskraK/SoftUni-Homework
        public void Run()
        {
            int n = int.Parse(Console.ReadLine());

            IAppender[] appenders = new IAppender[n];

            for (int i = 0; i < n; i++)
            {
                string[] appeneders = Console.ReadLine().Split();

                string appenderType = appeneders[0];
                string layoutType   = appeneders[1];

                ReportLevelEnum reportLevel = appeneders.Length == 3
                    ? Enum.Parse <ReportLevelEnum>(appeneders[2], true)
                    : ReportLevelEnum.Info;

                ILayout layout = LayoutCreator(layoutType);

                IAppender appender = AppenderCreator(appenderType, layout, reportLevel);

                appenders[i] = appender;
            }

            string input = string.Empty;

            while ((input = Console.ReadLine()) != "END")
            {
                string[] tokens = input.Split('|');

                string reportLevel = tokens[0];
                string date        = tokens[1];
                string message     = tokens[2];

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

                switch (reportLevel.ToLower())
                {
                case "info": logger.Info(date, message); break;

                case "warning": logger.Warning(date, message); break;

                case "error": logger.Error(date, message); break;

                case "critical": logger.Critical(date, message); break;

                case "fatal": logger.Fatal(date, message); break;
                }
            }

            Console.WriteLine("Logger info");

            foreach (var appender in appenders)
            {
                Console.WriteLine(appender.ToString());
            }
        }
コード例 #2
0
        public static void Main(string[] args)
        {
            var simpleLayout = new SimpleLayout();
            var xmlLayout = new XmlLayout();
            var consoleAppender = new ConsoleAppender(simpleLayout, SeverityLevel.Error);
            var fileAppender = new FileAppender(xmlLayout, "..\\..\\..\\FileAppenderOutput.txt");

            var logger = new Logger(consoleAppender, fileAppender);

            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");
        }