.NET каркас ведения логов
В мире Java у вас есть log4j и довольно приличный каркас ведения журналов, есть ли что-нибудь подобное для C#/.NET?
16 ответов
http://www.nlog-project.org/ - NLog
Это очень гибкий и настраиваемый инструмент регистрации, который очень легкий. Вы можете настроить его для входа в различные места (консоль, SQL, файл и т. Д.). Очень прост в использовании.
Он даже используется Робом Коннери в своем проекте Storefront MVC... http://blog.wekeroad.com/mvc-storefront/
Если вы ищете простое решение без взлома (загрузка всего около 100 Кб, а фактическая dll около 40 Кб), я успешно использовал BitFactory в ряде проектов.
Это маленький, настраиваемый, надежный и бесплатный!
Попробуйте блок приложения ведения журнала Enterprise Library
Несмотря на то, что я использовал несколько других, упомянутых здесь, это стоит посмотреть.
Есть также nLog, который довольно похож, но немного более легкий с меньшей конфигурацией.
Как я уже говорил в нескольких других местах, я согласен с другими здесь насчет Logging Framework The Object Guy. Как говорит Developer Dude, он не раздутый - как некоторые другие фреймворки. Он работает во всех наших производственных приложениях - и делает это в течение нескольких лет.
Мы всегда использовали блок приложения MS P&P Enterprise Library. Это не особенно круто и не элегантно, но довольно гибко и хорошо разработано. Основная причина, по которой я думаю, что мы используем ее, заключается в том, что мы используем много других компонентов из EL, и все они, конечно, имеют зависимости от модуля журналирования. Больше информации здесь.
Без сомнения, попробуйте: это. Руки вниз, это лучшее для большинства приложений. Это не вздор.
Что-нибудь, что Windows Event Log + Log Parser не может сделать для вас?
Ага. Log4Net.
Я использовал это некоторое время, это спасло жизнь!
На самом деле, если вам не нужны сложные опции ведения журнала прямо из коробки, я бы предложил написать тонкий интерфейс, который определяет ваши потребности в ведении журнала (такие как log.debug(), log.error() и т. Д.). Это даст вам гибкость, если вам нужно изменить последнее или найти проблемы с текущей реализацией.
Хотя это не кажется большим преимуществом, для нас это было большой победой в последнее время, когда мы портировали нашу среду на Windows Compact Framework, и ни один из параметров ведения журнала не работал. Мы смогли вставить нулевой логгер, который спас нас на этой платформе. Конечно, оценить для вашего конкретного проекта и потребностей.
Я бы еще сказал, что Log4Net - более безопасный вариант. Многие другие проекты с открытым исходным кодом также используют его, если вы когда-нибудь включите тот, который делает, то вы просто уменьшили зависимость.
Джеймс Ньютон-Кинг рассказал о журнале log4net и Enterprise Library Logging около года назад, и я думаю, что он все еще в значительной степени актуален. Мой опыт был только с EL, и у него были взлеты и падения. В многоуровневом приложении очень много настроек, если вы не используете каждый звонок и свисток, поэтому я, вероятно, попробую log4net в моем следующем проекте.
Посмотрите на TraceSources и TraceListeners. Он встроен в.NET и настроен с помощью файла конфигурации.