Я пытаюсь познакомиться с asp.net mvc, и в настоящее время я работаю над настройкой ведения журнала.Регистрация единственного типа для общего заводского метода
Я взглянул на Microsoft.Extensions.Logging и прочитал о том, как настроить его, но я борюсь с регистрацией типа в единстве.
Я хотел бы установить тип для
public HomeController(ILogger<HomeController> logger)
я могу сделать это с
private static void RegisterLoggingTypes(IUnityContainer container)
{
ILoggerFactory loggerFactory = new LoggerFactory()
.AddConsole()
.AddDebug();
container.RegisterType<ILogger<HomeController>>(new InjectionFactory(c => loggerFactory.CreateLogger<HomeController>()));
}
Но я не хочу, чтобы объявить один для каждого типа. Я попытался
container.RegisterType(typeof(ILogger<>), new InjectionFactory((c,t,s) => loggerFactory.CreateLogger(t)));
Но это возвращающий ILogger
вместо ILogger(of HomeController)
Любая идея, как я могу это сделать?
Thanks
Я вижу, что вы уже нашли себе ответ. Но вы должны сделать это с помощью buildtracking. Этот пример для Log4Net, но теория в основном такая же. http://blog.baltrinic.com/software-development/dotnet/log4net-integration-with-unity-ioc-container – smoksnes