如何将我当前的日志记录基础架构与 Kephas 集成?

How can I integrate my current logging infrastructure with Kephas?

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

我需要做什么才能让 Kephas 与现有的日志记录基础设施很好地配合使用,而不必复制它?

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

ELMAH 支持的步骤如下:

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

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