¿Se debe inyectar la infraestructura de registro cuando se utiliza IoC / DI si se utiliza la fachada de registro?

Estoy usando Autofac como mi IoC y de todo lo que he leído sobre el tema de las enseñanzas de DI para usar la "inyección de constructor" para exponer explícitamente las dependencias de clase ... Sin embargo, también estoy usando la fachada de registro (Common.Logging) con Log4Net y he creado Módulo autofac para inyectarlo. Ahora, en cada clase en la que quiero hacer algo de registro, tengo un parámetro de constructor adicional (ver ejemplo # 1) ...

Me pregunto si el DI de registro es necesario cuando se utiliza la fachada de registro. Entiendo que exponer explícitamente las dependencias a través de la firma del constructor es una buena arquitectura.pero En el caso de la fachada de madereo creo que lo siguiente es cierto:

Todavía puedo "intercambiar" el marco de registro en cualquier momentoLa clase IMHO no es realmente dependiente de Logger. Si no se configura ningún registro se utiliza NullLogger. Es casi "si es que lo necesitas" vs. "no funcionará a menos que lo proporciones" tipo de trato ... (ver muestra # 2)

Entonces, ¿qué piensan los demás? ¿Inyectar la fachada de madera es un exceso? Hay algunospreguntas similares sobre este tema pero en términos más generales (infraestructura) - Estoy interesado principalmente en el registro ....

// IoC "way"
public class MyController : BaseController
{
    private readonly ILog _logger;

    public MyController(ILog logger)
    {
        _logger = logger;
    }

    public IList<Customers> Get()
    {
        _logger.Debug("I am injected via constructor using some IoC!");
    }
}

// just use the logger "way"
public class MyController : BaseController
{
    private static readonly ILog Logger = LogManager.GetCurrentClassLogger();

    public IList<Customers> Get()
    {
        Logger.Debug("Done! I can use it!");
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta