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