将Prism记录器连接到我自己的记录器的最佳方式



我需要一些提示如何将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派生的,因此避免了它的局限性。

最新更新