private static ConsoleLogMuxer CreateMuxer(ConsoleLogGlobalSettings settings) { var consoleFeaturesDetector = new ConsoleFeaturesDetector(); var consoleWriterFactory = new ConsoleWriterFactory(consoleFeaturesDetector, settings.OutputBufferSize); var consoleWriter = consoleWriterFactory.CreateWriter(); var eventsBatcher = new EventsBatcher(consoleFeaturesDetector); var eventsWriter = new EventsWriter(eventsBatcher, consoleWriter, consoleFeaturesDetector); return(new ConsoleLogMuxer(eventsWriter, settings.EventsQueueCapacity, settings.EventsTemporaryBufferCapacity)); }
/// <summary> /// <para>Create a new console log with the given settings.</para> /// <para>An exception will be thrown if the provided <paramref name="settings" /> are invalid.</para> /// </summary> public SynchronousConsoleLog([NotNull] ConsoleLogSettings settings) { this.settings = SettingsValidator.ValidateInstanceSettings(settings); consoleFeaturesDetector = new ConsoleFeaturesDetector(); consoleColorChanger = new ConsoleColorChanger(); }