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