Я успешно настроил Serilog в своем приложении ASP.NET Core, осталась только часть DI.
Вопрос
Теперь у меня есть два интерфейса ILogger, один — Serilog.ILogger другой — Microsoft.Extensions.Logging.ILogger. Оба работают на основе моей конфигурации Serilog, и я не знаю, что использовать? (Я имею в виду, что после установки конфигурации Serilog Microsoft.Extensions.Logging.ILogger также корректно регистрируется через Serilog, поэтому моя конфигурация учитывается)
В случае, если Microsoft .Extensions.Logging.ILogger Я знаю, как настроить DI, чтобы он работал.
Однако в случае Serilog.ILogger я вижу, что Serilog имеет статический Log.Logger экземпляр (вероятно, одноэлементный)
Я не хочу использовать это статическое свойство в своем коде, в основном из соображений тестирования, поэтому я хотел бы внедрить его в конструктор. Решением будет:
Код: Выделить всё
services.AddSingleton(Log.Logger); // Log.Logger is a singleton anyway
Подробнее здесь: https://stackoverflow.com/questions/614 ... -to-inject
Мобильная версия