Для какой утилиты ведения журнала подходит .СЕТЕВОЕ приложение на C # (ASP.NET, WinForms)?[закрыто]
-
22-09-2019 - |
Вопрос
Я пытаюсь оценить некоторые из лучших утилит ведения журнала, доступных для .NET framework, такие как Microsoft Enterprise Library, Log4Net, elmah.
Может ли кто-нибудь, кто уже прошел через это упражнение, прийти ко мне на помощь в перечислении плюсов и минусов лучшего, доступного на рынке.
Спасибо и с уважением, Раджив Ранджан Лалл
Решение
В целом хорошим является Log4net - Вход в систему.
ПЛЮСЫ: Log4Net поддерживает множество источников вывода.
МИНУСЫ: Иногда это может замедлить работу вашего приложения.
Для ASP.NET применение является одним из лучших ЭЛЬМА.
ПЛЮСЫ: Вам не нужно немного изменять код приложения, чтобы использовать Elmah.Вы должны просто включить в свое приложение.
МИНУСЫ: Насколько я знаю, нет.
Другие советы
Я также слышал хорошие вещи о NLog - журнал хотя я еще не тестировал.Они говорят, что API похож на тот, который предоставляется log4net.
Кроме того, просматривая, у вас возникает много вопросов, связанных с этой проблемой:
https://stackoverflow.com/questions/98080/what-is-the-best-logging-solution-for-a-c-net-3-5-project
Платформа ведения журнала .NET
Надеюсь, это поможет.
Взгляните на мой структура ведения журнала.Прост в использовании.Простота настройки.Легко расширяется.
И слушать то , что этот парень говорит.
log4net - вход в систему для Windows Forms, log4net и ЭЛЬМА для ASP.NET.
ELMAH и log4net имеют разные цели.ELMAH собирает данные о необработанных исключениях, тогда как log4net предоставляет платформу ведения журнала на настраиваемых уровнях (INFO, WARN, DEBUG, FATAL).log4net требует, чтобы вы активно писали инструкции ведения журнала в своем коде;ELMAH работает автоматически после правильной настройки.
эльма это самый лучший.эльма качается!
Enterprise Library - единственное официальное издание, с которым у меня есть опыт работы, и наша команда сочла его слишком громоздким и недостаточно универсальным для прайм-тайма.Вы можете безопасно избежать этого, и, скорее всего, в конечном итоге вам будет лучше вместо этого написать свое собственное решение.
У меня не было возможности использовать ни Log4Net, ни Elmah.
Раньше я использовал свой собственный пользовательский интерфейс entlib, log4net, а затем Elmah
Для asp.net сообщение об ошибке Elmah на голову выше остальных.Однако пара вещей, которые я хотел бы видеть улучшенными, - это фильтрация и, возможно, ежедневный дайджест электронной почты, а не по одному электронному письму на ошибку.
Если вы хотите внедрить ведение журнала, предупреждения, отладку, трассировки и т.д., то я бы выбрал log4net.
Однако это зависит от типа ведения журнала, который вам нужен...
Проверьте Гибралтар для отличного ведения журнала и многого другого.
У него есть собственный API ведения журнала, и у нас также есть адаптеры для log4net, NLog и платформы ведения журнала Object Guy (PostSharp тоже!).Помимо ведения журнала, Gibraltar также собирает ошибки, такие как ELMAH, а также собирает дополнительные показатели, полезные для службы поддержки клиентов или CEIP.
Я еще не видел упоминания об этом, но я обнаружил, что встроенная система.Diagnostics TraceSource и TraceListeners очень эффективны для ведения журнала.Мы создали ряд высокопроизводительных пользовательских TraceListeners для различных источников данных, в которые мы сохраняем журналы.
Мы постоянно меняем местами разные прослушиватели в конфигурационном файле.Мы используем преимущества System.Диагностика.CorrelationManager для прохождения цепочки выполнения через множество серверов, процессов и потоков с помощью журналов.
В целом, у нас есть сложное решение для ведения журнала, построенное поверх того, что поставлялось вместе с фреймворком, и я им очень доволен.
Я использовал Logstash (https://www.elastic.co/products/logstash) и это довольно хорошо и с открытым исходным кодом.