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