Inyector simple: registre ILogger <T> utilizando ILoggerFactory.CreateLogger <T> ()

Estoy trabajando con un proyecto que utiliza Simple Injector como inyector de dependencia. Por otro lado, este proyecto usa Microsoft.Extensions.Logging para registrar los eventos que ocurren en ciertas clases.

Mi problema técnico es bastante simple de explicar. Quiero registrar en mi DI el ILogger independientemente de la clase T que se invoca, peroNECESITO hacerlo desde miILoggerFactory.CreateLogger<T>() método porque esto obtiene la configuración del registrador usandoMicrosoft.Extensions.Configuration.

Necesito usar algo como esto para instanciar mi registrador:

private Microsoft.Extensions.Logging.ILogger CreateLogger<T>()
{
     var factory = this.ResolveService<ILoggerFactory>();
     var logger = factory.CreateLogger<T>();
     return logger;
}

Podría lograr la inyección haciendo:

Container.Register(typeof(ILogger<>), typeof(Logger<>));

Y esto nos permite resolver algo como:

public class SomeApiController : ApiController
{
     public SomeApiController(ILogger<SomeApiController> logger)
     {
         //logger is well instantiated, but doesn't got the configuration
         logger.LogInformation("test log.");
     }
}

Pero como dije, esto lo hace sin pasar por la configuración obtenida delMicrosoft.Extensions.Logging.ILoggerFactory clase, así que esto no es útil.

¿Hay alguna forma de registrarse?ILogger<T> usando miCreateLogger<T>?

Respuestas a la pregunta(2)

Su respuesta a la pregunta