我会推荐类似于您的第一个想法的东西,尽管它利用了 Prism 中已经存在的界面。
虽然我不确定 NLog 中提供给您的确切方法签名,但您可能需要考虑使用 Prism 的ILoggerFacade接口,该接口通常在您的 Bootstrapper 中定义(有关如何设置的示例,请参阅StockTraderRI应用程序)。通常,这充当到Microsoft 的 Composite Logging interface的传递,但是没有理由不能使用它来连接到您自己的记录器。
考虑这种方法的几个原因:
另一种方法是按照您的建议进行操作:在基础结构 DLL 中创建一个定义 NLog 服务的接口(或公开现有的 NLog 接口),并在引导程序中注册该服务的实现。然后,您可以使用依赖项注入容器来获取对模块中记录器服务的引用。但是请注意,这实际上只是重现了 ILoggerFacade 界面已经提供给您的内容。
| 归档时间: |
|
| 查看次数: |
2731 次 |
| 最近记录: |