ConsoleLoggerProvider имеет четыре конструктора:
ConsoleLoggerProvider(IConsoleLoggerSettings)
ConsoleLoggerProvider(IOptionsMonitor<ConsoleLoggerOptions>)
ConsoleLoggerProvider(Func<String,LogLevel,Boolean>, Boolean)
ConsoleLoggerProvider(Func<String,LogLevel,Boolean>, Boolean, Boolean)
Этим сообщением три из них объявлены устаревшими:
Этот метод устарел и будет удален в будущей версии. Рекомендуемой альтернативой является использование LoggerFactory для настройки фильтрации и ConsoleLoggerOptions для настройки параметров ведения журнала.
С конструктором № 3 создать LoggerFactory
с ConsoleLoggerProvider
очень просто (как описано в Entity Framework Core - ведение журнала):
var loggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider((category, level) => level >= LogLevel.Information, true) });
Но поскольку он устарел, у нас остался конструктор №2. Вот что я нашел эквивалентным:
var configureNamedOptions = new ConfigureNamedOptions<ConsoleLoggerOptions>("", null);
var optionsFactory = new OptionsFactory<ConsoleLoggerOptions>(new []{ configureNamedOptions }, Enumerable.Empty<IPostConfigureOptions<ConsoleLoggerOptions>>());
var optionsMonitor = new OptionsMonitor<ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty<IOptionsChangeTokenSource<ConsoleLoggerOptions>>(), new OptionsCache<ConsoleLoggerOptions>());
var loggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) }, new LoggerFilterOptions { MinLevel = LogLevel.Information });
Это кажется слишком сложным, я упустил что-то попроще?