C# ASP.Net5获取当前Ilogger
我使用的一些界面恰好使用了C# ASP.Net5获取当前Ilogger,c#,asp.net-core,coreclr,C#,Asp.net Core,Coreclr,我使用的一些界面恰好使用了Microsoft.Extensions.Logging.ILogger 我想知道如何使用Ilogger实例化一个接口,注意我只在 这就是我所做的,但我不知道这是否正确 services.AddSingleton<IServiceCache, Cache>( Iapp => new Cache(_loggerFactory.CreateLogger("Debug")) ); services.AddSingleton(Iapp=>newcache(_
Microsoft.Extensions.Logging.ILogger
我想知道如何使用Ilogger
实例化一个接口,注意我只在
这就是我所做的,但我不知道这是否正确
services.AddSingleton<IServiceCache, Cache>( Iapp => new Cache(_loggerFactory.CreateLogger("Debug")) );
services.AddSingleton(Iapp=>newcache(_loggerFactory.CreateLogger(“Debug”));
或者您可以执行以下操作:
#if DEBUG
services.AddSingleton<ILogger>(_loggerFactory.CreateLogger("Debug"));
#else
// here add logger for release or whatever other mode
#endif
#如果调试
services.AddSingleton(_loggerFactory.CreateLogger(“调试”);
#否则
//这里添加用于发布或任何其他模式的记录器
#恩迪夫
ILogger将自动注入从属服务中。所以这就足够了:
services.AddSingleton<IServiceCache, Cache>();
services.AddSingleton();
services.AddSingleton(app=>new Cache(app.GetService().ToArray()[0]);我认为这比复制记录器更好