PRISM 7 log4net 集成

PRISM 7 log4net integration

在以前的 PRISM 版本中,可以创建自定义 Log4Net 适配器 class(派生自 ILoggerFacade)并覆盖抽象 Prism.Bootstrapper 的受保护 CreateLogger 方法class 如下:

protected override ILoggerFacade CreateLogger()
{
    return new Log4NetAdapter();
}

在较新的 PRISM 7 版本中,Bootstrapper class 的所有方法都移到了 PrismApplicationBase class。但是,无法再找到虚拟 CreateLogger 方法。

问题:如何配置 PRISM 7 以使用自定义 Log4Net 适配器?

Prism 7 中不再存在 CreateLogger 方法。您只需在容器中通过覆盖 PrismApplication 中的 RegisterTypes 将自定义记录器注册为 ILoggerFacade .

protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
   containerRegistry.RegisterSingleton<ILoggerFacade, CustomLogger>();
}

如果您之前已经创建了记录器的实例,则可以像这样注册它。

containerRegistry.RegisterInstance(logger);