Подтвердить что ты не робот

Блок ведения журнала предприятия против NLog vs log4net

Мне нужно использовать библиотеку протоколирования в моем проекте и рассматривать между Enterprise Logging Block vs NLog vs log4net. Я нашел некоторые ссылки на сравнение, но большинство из них довольно старые и жалуются на такие вещи, как новые версии log4net для долгого времени и т.д.

У кого-либо есть предложение относительно того, какой из них лучше с точки зрения простоты использования, простоты настройки, производительности, масштабируемости и т.д. на основе текущих данных.

4b9b3361

Ответ 1

Мне лично нравится log4net. Он быстрый, стабильный и настраиваемый (и его действительно легко расширить с помощью пользовательского приложения или такого).

Меня не беспокоит отсутствие новых выпусков - на мой взгляд, это просто доказывает, что база кода стабильна и содержит функции, которые она должна. В конце концов, я хочу, чтобы мой журнал был стабильным, прежде всего.

Вот немного похожий вопрос, возможно, вы также можете использовать некоторые ответы оттуда.

Ответ 2

Я просто оценил log4net и NLog для использования в более крупном проекте. Оба имеют аналогичный интерфейс и имеют высокую степень конфигурирования.

NLog, по-видимому, лучше поддерживается: несовместимость log4net с .Net4 долгое время оставалась неразрешенной в log4net. Nlog поставляется с еще несколькими "колокольчиками", такими как пакет NuGet и Xml Schema для Visual Studio для редактирования файлов конфигурации.

В итоге мы решили использовать log4net, потому что мы измерили гораздо лучшую производительность для log4net: простой тест, запись 10000 сообщений журнала в файл и просмотрщик сетевых журналов (Log2Console) показал в 10 раз лучшую производительность log4net! Мы не настраивали файл конфигурации, файлы с файлами и notwork были использованы с минимальной конфигурацией. Вы должны проверить это для себя с типичной настройкой ведения журнала вашего проекта.

Ответ 3

Вы можете отложить решение "какой регистратор использовать", если вы используете Common.Logging. Это обертка для журнала, в которой вы можете настроить управление журналом, чтобы перейти в log4net, nlog, System.Diagnostics.Debug. Я не знаю блок регистрации предприятий и не знаю, есть ли плагин "Блок ведения журнала предприятия" для общего ведения журнала.

Ответ 4

Еще одно отличие, которое часто упускается из виду, заключается в том, что NLog BSD, тогда как log4net находится под лицензией Apache. ELB - MS-PL (версия с открытым исходным кодом для Microsoft). Это может быть неважно в большинстве случаев, просто говоря.

Ответ 5

Я считаю, что все они очень похожи и способны. Прошло несколько лет с тех пор, как я использовал Блок регистрации корпоративных библиотек, но даже тогда это было прилично. NLog и log4net являются прочными.

Одной из причин выбора одного над другим может быть интеграция сторонних библиотек. Если вы используете NHibernate или Quartz или другие библиотеки, которые используют log4net, например, это может повлиять на ваш выбор.