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);
在以前的 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);