首页 > 解决方案 > 如何将我当前的日志基础设施与 Kephas 集成?

问题描述

我目前的项目需要重新架构,到目前为止,我喜欢 Kephas 如何为应用程序设置基础(获得 MIT 许可对于评估它至关重要)。但是,我们应该循序渐进地做事,否则恐怕我们会失去对项目的控制。日志记录(我们使用 ELMAH)无处不在,恐怕我们不能到处使用 DI/composition 来替换日志调用,因此我们需要保留现有代码。

我必须做些什么才能让 Kephas 与现有的日志基础设施配合得很好,但又不必复制它?

标签: loggingkephas

解决方案


就像在 DI/IoC 中一样,我们在抽象之上构建了一切,包括日志记录。因此,我们在内部确实依赖于ILogManagerILogger接口,但它们背后的内容取决于您。我们目前仅实现了 NLog 和 Log4Net 适配器,但在您的情况下,应该只需要几行代码即可支持其他日志框架,如 ELMAH。

ELMAH 支持的步骤如下:

  • 定义 ElmahLogManager 和 ElmahLogger 类。
  • 定义扩展方法以将此日志管理器添加到应用程序引导过程中的环境服务。
  • 配置 Kephas 环境服务以使用您的 ELMAH 日志管理器。

查看https://github.com/kephas-software/kephas/tree/master/src/Kephas.Logging.NLog以获取有关如何创建适配器的示例以及如何使用它们的示例 ()。


推荐阅读