我有一个控制台应用程序,我正在使用Serilog中。我试图注入日志到我的服务库,但我从来没有看到日志消息。看起来,当我单步执行代码时,即使我正在创建一个Singleton LoggerFactory,该库也正在创建一个新的工厂实例。注入ILoggingFactory到服务库
控制台应用程序
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>();
}
在服务后来,我将尝试登录的东西,没有任何显示在日志中,但我做的查看来自Console应用程序的消息。