Что является лучшей практики для входа в Umbraco?
Я заметил, что есть по крайней мере два способа записи журналов в Umbraco. Одним из способов является использование класса LogHelper
, а другим-прямое использование методов экземпляра, полученного с помощью метода log4net.LogManager.GetLogger
. Излишне говорить,что LogHelper также использует log4net.
Я добавил пользовательское приложение журнала, установил назначение файла приложения, чтобы быть пользовательским файлом (отличным от стандартного) и попробовал оба способа, и заметил, что результаты в журнале более или менее одинаковы. Запись LogHelper выглядит вот так:
Имя проекта ошибки.Контроллеры.Бэк-офис.DataController - [P4876/T1/D2] Test
В то время как запись, которую делает log4net, выглядит следующим образом:
Тем не менее, когда я искал сообщения о регистрации на Umbraco, я часто находил примеры использования log4net напрямую, а не с помощью класса LogHelper, предоставляемого Umbraco CMS.Имя проекта ошибки.Контроллеры.Бэк-офис.DataController-Test
Итак, в принципе, есть ли что-то хорошее причины, по которым разработчики должны использовать один способ вместо другого, или это просто вопрос предпочтения использования методов библиотеки вместо использования предоставляемого CMS класса helper (или наоборот-helper перед библиотекой)?
2 ответа:
LogHelper
это удобная оболочка для ведения журнала-часть структуры ведения журнала с интерфейсомUmbraco.Core.Logging.ILogger
в ее ядре. По умолчанию используется реализация log4net, но есть также внутренний классDebugDiagnosticsLogger
, который выводит все черезDebug.WriteLine
.Как правило, если вы разрабатываете с использованием библиотек Umbraco, то
LogHelper
- это путь.
LogHelper, вероятно, создан так, что разработчикам не придется беспокоиться о том, какой конкретный поставщик журналов используется внутри Umbraco (log4net, Elmah, что угодно). Так что теоретически это может добавить немного накладных расходов, но это проще в использовании.
Я не думаю, что существует реальная "лучшая практика", но я бы использовал LogHelper : -)