public static void Main(string[] args) { var logPath = "application.log"; ILogger logger = new AggregatedLogger( new FileLogger(logPath), new ConsoleLogger() ); IConsoleManager consoleManager = new ConsoleManager(); var environment = new AppEnvironment(logger, consoleManager); var figures = new List <Figure>(); try { var figure = environment.Parse(args); figures.Add(figure); var extraFigures = environment.RequestExtraFigures(); figures.AddRange(extraFigures); var sortedAreas = figures .OrderByDescending(f => f.Area) .ToList(); sortedAreas.ForEach(f => consoleManager.WriteLine($"[{f.Name}]: {f.Area} cm")); } catch (Exception ex) { logger.LogInformation(ex.Message); } }
public static void Main(string[] args) { var logPath = "application.log"; ILogger logger = new AggregatedLogger ( new FileLogger(logPath), new ConsoleLogger() ); var environment = new AppEnvironment(logger); try { if (!Validator.IsArgumentsValid(args)) { throw new FormatException( $"Input must be like <FilePath> <SearchString>;{Environment.NewLine}" + $"<FilePath> <SearchString> <ReplaceableString"); } var inputData = environment.Parse(args); environment.Run(inputData); } catch (Exception ex) { logger.LogInformation(ex.Message); } }
public void AllLoggersShouldLog() { TestLogger loggerOne = Substitute.ForPartsOf <TestLogger>(); TestLogger loggerTwo = Substitute.ForPartsOf <TestLogger>(); AggregatedLogger logger = new AggregatedLogger(loggerOne, loggerTwo); logger.Write("Foo"); ITable table = Table.Create(1); logger.Write(table); loggerOne.Received(1).TestWriteInternal(WriteStyle.Current, "Foo"); loggerTwo.Received(1).TestWriteInternal(WriteStyle.Current, "Foo"); loggerOne.Received(1).Write(table); loggerTwo.Received(1).Write(table); }
public static void Main(string[] args) { var logPath = "application.log"; var logger = new AggregatedLogger( new FileLogger(logPath), new ConsoleLogger() ); try { if (!Validator.IsParametersValid(args)) { logger.LogInformation("Input data must be in format <LocalizationType> <number>"); return; } var languageNumbersDescriptors = new ILanguageNumbersDescriptor[] { new EnLoсalizationNumbers(), new RuLocalizationNumbers(), new UaLocalizationNumbers() }; var inputDataParser = new InputDataParser(languageNumbersDescriptors, logger); var inputData = inputDataParser.GetInputData(args); var localization = languageNumbersDescriptors.First(l => l.Name == inputData.LocalizationName); var result = NumberConverter.ConvertToString(inputData.Number, localization); logger.LogInformation($"Result: {result}"); } catch (Exception ex) { logger.LogInformation(ex.Message); } }
public AppEnvironment( string logPath = "application.log" ) { Logger = new AggregatedLogger ( new FileLogger(logPath), new ConsoleLogger() ); InputDataParsers = new IParser[] { new SequenceParser(), new FibonacciParser() }; MathOperations = new IOperation[] { new FibonacciOperation(), new SequenceOperation() }; }
public static void Main(string[] args) { var logPath = "application.log"; var logger = new AggregatedLogger( new FileLogger(logPath), new ConsoleLogger() ); IConsoleManager consoleManager = new ConsoleManager(); var environment = new AppEnvironment(consoleManager); try { var envelopes = environment.Parse(args); var analysis = environment.CheckEnvelopes(envelopes); do { consoleManager.WriteLine($"{analysis}"); envelopes = environment.RequestExtraEnvelopes(); if (envelopes == null) { break; } analysis = environment.CheckEnvelopes(envelopes); }while (envelopes.Any()); } catch (Exception ex) { logger.LogInformation(ex.Message); } }
public ConsoleTaskLoggers(ITask task, IArgumentProvider arguments) { if (arguments.GetOption <bool?>(StandardOptions.Clipboard) ?? task.GetOptionDefault <bool>(StandardOptions.Clipboard[0])) { _richTextLogger = new RichTextLogger(); _csvLogger = new CsvLogger(); _textLogger = new TextLogger(); _spreadsheetLogger = new XmlSpreadsheetLogger(); _aggregatedLogger = new AggregatedLogger( ConsoleLogger.Instance, _richTextLogger, _spreadsheetLogger, _csvLogger, _textLogger); RegisterLogger(LoggerType.Result, _aggregatedLogger); } else { RegisterLogger(LoggerType.Result, ConsoleLogger.Instance); } RegisterLogger(LoggerType.Status, ConsoleLogger.Instance); }
public void EmptyArrayShouldNotThow() { AggregatedLogger logger = new AggregatedLogger(new ILogger[0]); logger.Write("Foo"); }