我需要一些提示如何将Prism记录器接口(从Prism.Application(连接到我自己的记录器实现。我需要使用引导程序吗?只有在那里我才能覆盖"ILoggerFacade CreateLogger(("方法?我想用棱镜。应用程序类。
Prism Logger将在版本8中根据此进行修改/删除
https://github.com/PrismLibrary/Prism/issues/2058
您应该覆盖App
类的RegisterRequiredTypes
方法。
默认实现将ILoggerFacade
接口映射到TextLogger
实现:
containerRegistry.RegisterSingleton<ILoggerFacade, TextLogger>();
在应用程序的RegisterTypes
中注册记录器。
containerRegistry.RegisterSingleton<ILoggerFacade, MyOwnLogger>();
除非您使用了一个奇怪的容器,或者混淆了注册和解析,否则新的注册将覆盖旧的注册。如果无法避免这种情况,请替换RegisterRequiredTypes
,但在调用base.RegisterRequiredTypes
时(或是否调用(要小心。
顺便说一句,好的旧引导程序实际上比新颖的PrismApplication
更可取,因为它不是从System.Application
派生的,因此避免了它的局限性。