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

Какая наиболее широко используемая структура ведения журнала в С#?

Я изучаю, как реализовать регистрацию в моем приложении С# - это библиотека класса DLL. Какие системы ведения журнала наиболее широко используются - что даст пользователям моей DLL большую гибкость и удобство настройки? Существует ли эквивалент С# для log4j?

4b9b3361

Ответ 1

Ответ 2009: Эквивалентом log4j для платформы .NET является log4net, и я предполагаю, что он широко используется.


Ответ 2019: Вот несколько альтернатив из https://github.com/quozd/awesome-dotnet/blob/master/README.md#logging:

  • Essential Diagnostics - расширяет встроенные функции пространства имен System.Diagnostics для обеспечения гибкого ведения журнала.
  • NLog - NLog - Расширенное ведение журнала в .NET и Silverlight
  • Logazmic - программа просмотра NLog с открытым исходным кодом для Windows
  • ELMAH - Официальный сайт ELMAH
  • Elmah MVC - Elmah для MVC
  • Logary - Logary - это высокопроизводительная, многоцелевая библиотека ведения журналов, метрик, трассировки и проверки работоспособности для Mono и .NET. .NET ответ на DropWizard. Поддерживает множество целей, созданных для микро-сервисов.
  • Log4Net - библиотека Apache log4net - это инструмент, помогающий программисту выводить лог-операторы для различных выходных целей
  • com.csutil.Log - Облегченная оболочка журнала с нулевой конфигурацией, которую можно комбинировать с другими библиотеками журналов, такими как Serilog, для более сложных случаев использования.
  • Serilog - библиотека логики для эры NoSQL. Объединяет лучшее из традиционной и структурированной диагностики в простом в использовании пакете.
  • StackExchange.Exceptional - обработчик ошибок, используемый для сети Stack Exchange
  • Блок приложения семантической регистрации (SLAB) - расширяет встроенные функции пространства имен System.Diagnostics.Tracing (класс EventSource) для регистрации в нескольких приемниках, включая таблицы Azure, базы данных, файлы (JSON, XML, текст). Поддерживает внутрипроцессное и внепроцессное ведение журнала через ETW и Rx для фильтрации/агрегирования событий в режиме реального времени.
  • Foundatio - Свободный API ведения журнала, который можно использовать для регистрации сообщений в вашем приложении.
  • Exceptionless - безупречный клиент .NET
  • Loupe - Централизованная регистрация и мониторинг .NET. [Собственный] [Свободный Уровень]
  • elmah.io - регистрация в облаке для веб-приложений .NET с использованием ELMAH. Находите ошибки, прежде чем вы начнете жить. Мощный поиск, API, интеграция со Slack, GitHub, Visual Studio и многое другое. [ Бесплатно для OSS ] [$]
  • BugSnag - регистрирует ошибки. Содержит полезную диагностическую информацию, такую как трассировка стека, сеанс, выпуск и т.д. Имеет свободный уровень. [Бесплатно для OSS] [$]

Ответ 2

Использовали NLog успешно в многочисленных проектах.

Ответ 3

Мы используем наши собственные классы ведения журнала, реализуемые путем вызова log4net. Это позволяет нам использовать эту гибкую и широко используемую структуру, избегая при этом тысяч прямых ссылок на нее в исходном коде.

Ответ 4

log4net почти наверняка является наиболее распространенным.

Но я использую Common.Logging - http://netcommon.sourceforge.net/, поскольку он дает мне гибкость

Существует множество протоколов реализации для .NET в настоящее время использование, log4net, корпоративная библиотека Logging, NLog, чтобы назвать наиболее популярный. Недостатком различная реализация заключается в том, что они не имеют общего интерфейса и поэтому налагают конкретную выполнения регистрации пользователей вашей библиотеки.

Библиотека Common.Logging представляет простая абстракция, позволяющая выберите конкретный журнал реализации во время выполнения. Таким образом, вы может отложить решение, что конкретно библиотеку журналов для использования до развертывание. Адаптеры используются для подключение конкретной системы каротажа в Common.Logging.

Ответ 5

Я использую NLog с годами с успехом, и это очень хорошо выполненный проект.

Ответ 6

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

Ответ 7

Люди широко используют Корпоративную библиотеку. Но может быть правдой, что разработчики в эти дни переходят на другие продукты.

Я бы проверил его и посмотрел, есть ли у него необходимые функции, и не слишком много раздувается.