У меня есть консольное приложение, в котором я использую Serilog. Я пытаюсь ввести журнал в мою библиотеку служб, но я никогда не вижу сообщения журнала. Кажется, когда я просматриваю код, хотя я создаю Singleton LoggerFactory, библиотека создает новый экземпляр фабрики.Inject ILoggingFactory в библиотеку сервисов
Console Application
ILoggerFactory loggerFactory = new LoggerFactory();
loggerFactory.AddSerilog(GetLoggerConfiguration());
_loggerIdentity = loggerFactory.CreateLogger<WorkerBroker>();
IServiceCollection services = new ServiceCollection();
services.TryAddSingleton<ILoggerFactory, LoggerFactory>();
_provider = services.BuildServiceProvider();
// Inject my service
var service = ActivatorUtilities.CreateInstance<MyService>(_provider);
Конструктор для предоставления услуг, где инъекции происходит (в библиотеке)
public MyService(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<WebCreditService>();
}
Позже в службе я попытаюсь что-то журнал и ничего не показывает в журнале, но я см. сообщения из приложения «Консоль».