Как я могу интегрировать мою текущую инфраструктуру ведения журналов с Kephas? - PullRequest
1 голос
/ 13 марта 2019

Мой текущий проект нуждается в переосмыслении, и до сих пор мне нравится, как Kephas устанавливает основы для приложений в целом (лицензирование по MIT имело решающее значение для его оценки). Однако мы должны делать что-то постепенно, иначе я боюсь, что мы потеряем контроль над проектом. Ведение журнала (мы используем ELMAH) везде, и я боюсь, что мы не сможем использовать DI / Composition для замены вызовов журнала, поэтому нам нужно сохранить существующий код.

Что мне нужно сделать, чтобы Kephas хорошо играл с существующей инфраструктурой ведения журналов, но без дублирования?

1 Ответ

1 голос
/ 13 марта 2019

Как и в DI / IoC, мы построили все на основе абстракций, включая ведение журнала. Так что мы внутренне зависим от интерфейсов ILogManager и ILogger, но что за ними стоит, решать только вам. В настоящее время мы внедрили только адаптеры NLog и Log4Net, но для поддержки других сред ведения журналов, таких как ELMAH, в вашем случае должно быть всего несколько строк кода.

Шаги поддержки ELMAH могут быть следующими:

  • определить классы ElmahLogManager и ElmahLogger.
  • определить метод расширения для добавления этого менеджера журналов к окружающим сервисам в процедуре начальной загрузки приложения.
  • настроить службы окружения Kephas для использования вашего менеджера журналов ELMAH.

Проверьте https://github.com/kephas-software/kephas/tree/master/src/Kephas.Logging.NLog, чтобы узнать, как вы можете создавать адаптеры, и примеры того, как их использовать ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...