Что является лучшей практики для входа в Umbraco?


Я заметил, что есть по крайней мере два способа записи журналов в Umbraco. Одним из способов является использование класса LogHelper, а другим-прямое использование методов экземпляра, полученного с помощью метода log4net.LogManager.GetLogger. Излишне говорить,что LogHelper также использует log4net.

Я добавил пользовательское приложение журнала, установил назначение файла приложения, чтобы быть пользовательским файлом (отличным от стандартного) и попробовал оба способа, и заметил, что результаты в журнале более или менее одинаковы. Запись LogHelper выглядит вот так:

Имя проекта ошибки.Контроллеры.Бэк-офис.DataController - [P4876/T1/D2] Test

В то время как запись, которую делает log4net, выглядит следующим образом:

Имя проекта ошибки.Контроллеры.Бэк-офис.DataController-Test

Тем не менее, когда я искал сообщения о регистрации на Umbraco, я часто находил примеры использования log4net напрямую, а не с помощью класса LogHelper, предоставляемого Umbraco CMS.

Итак, в принципе, есть ли что-то хорошее причины, по которым разработчики должны использовать один способ вместо другого, или это просто вопрос предпочтения использования методов библиотеки вместо использования предоставляемого CMS класса helper (или наоборот-helper перед библиотекой)?

2 6

2 ответа:

LogHelper это удобная оболочка для ведения журнала-часть структуры ведения журнала с интерфейсом Umbraco.Core.Logging.ILogger в ее ядре. По умолчанию используется реализация log4net, но есть также внутренний класс DebugDiagnosticsLogger, который выводит все через Debug.WriteLine.

Как правило, если вы разрабатываете с использованием библиотек Umbraco, то LogHelper - это путь.

LogHelper, вероятно, создан так, что разработчикам не придется беспокоиться о том, какой конкретный поставщик журналов используется внутри Umbraco (log4net, Elmah, что угодно). Так что теоретически это может добавить немного накладных расходов, но это проще в использовании.

Я не думаю, что существует реальная "лучшая практика", но я бы использовал LogHelper : -)