Utilizando Autofac para inyectar log4net en el controlador

Intento usar Autofac para inyectar una clase log4net en mi controlador, pero obtengo la siguiente excepción:

Ninguno de los constructores encontrados con 'Banderas de enlace público' en el tipo 'MvcApplication6.Controllers.HomeController' se puede invocar con los servicios y parámetros disponibles: No se puede resolver el parámetro 'log4net.ILog logger' del constructor 'Void .ctor (log4net.ILog ) '.

He creado un módulo para inyectar laLog clase usando el tipo correcto:

public class LogInjectionModule : Module
{
    protected override void AttachToComponentRegistration(IComponentRegistry registry, IComponentRegistration registration)
    {
         registration.Preparing += OnComponentPreparing;
    }

    static void OnComponentPreparing(object sender, PreparingEventArgs e)
    {
        var t = e.Component.Activator.LimitType;
        e.Parameters = e.Parameters.Union(new[] 
        { 
            new ResolvedParameter((p, i) => p.ParameterType == typeof(ILog), (p, i) => LogManager.GetLogger(t)) 
        });
    }
}

uego registro el módulo dentro de mi ASP.NET MVCApplication_Start método:

protected void Application_Start()
{
     ContainerBuilder builder = new ContainerBuilder();
     builder.RegisterControllers(typeof (MvcApplication).Assembly) ;

     var container = builder.Build() ;
     DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 

     builder.RegisterModule(new LogInjectionModule());

     AreaRegistration.RegisterAllAreas();

     RegisterGlobalFilters(GlobalFilters.Filters);
     RegisterRoutes(RouteTable.Routes);
}

He agregado un constructor al controlador que toma unILog como parámetro:

namespace MvcApplication6.Controllers
{
   public class HomeController : Controller
   {
      ILog _log;

      public HomeController(ILog logger) 
      {
         _log = logger;
      }

      public ActionResult Index()
      {
         ViewBag.Message = "Welcome to ASP.NET MVC!";

         _log.Info("Log message from Index()");

         return View();
      }

      public ActionResult About()
      {
         _log.Info("Log message from About()");

         return View();
      }
   }
}

Estoy seguro de que he perdido un paso, por lo que agradecería cualquier ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta