首页 > 解决方案 > PRISM 7 log4net 集成

问题描述

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

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

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

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

标签: c#wpfprismlog4netprism-7

解决方案


CreateLogger方法在 Prism 7 中不再存在。您可以ILoggerFacade通过RegisterTypes在您的PrismApplication.

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

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

containerRegistry.RegisterInstance(logger);

推荐阅读