Как сделать вход в C # с Log4net

Когда ты пишешь компьютерный код в C # это хорошая идея, чтобы включить код регистрации. Таким образом, когда что-то идет не так, вы знаете, с чего начать. Мир Java делал это годами. Вы можете использовать log4net для этой цели. Он является частью Apache log4j 2, популярного каркаса с открытым исходным кодом.

Это не единственная платформа ведения журнала .NET; Есть много. Однако апаш имя заслуживает доверия, а оригинальная среда ведения журналов Java существует уже более 15 лет.

Зачем использовать Log4net Logging Framework?

Когда происходит сбой приложения или сервера, вы задаетесь вопросом, почему. Был ли это аппаратный сбой, вредоносное ПО, может быть атака типа «отказ в обслуживании» или какая-то странная комбинация ключей, которая позволяет обойти все проверки кода? Ты просто не знаешь.

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

Начиная

Загрузите файл log4net с веб-сайта Apache log4net. Проверьте целостность загруженных файлов, используя подпись PGP или контрольные суммы MD5. Контрольные суммы не так сильны, как подпись PGP.

instagram viewer

Использование Log4net

Log4net поддерживает семь уровней регистрации от одного до всех в возрастающем приоритете. Эти:

  1. OFF
  2. FATAL
  3. ОШИБКА
  4. WARN
  5. ИНФОРМАЦИЯ
  6. DEBUG
  7. ВСЕ

Более высокие уровни включают в себя все более низкие. При отладке, используя DEBUG показывает все, но на производстве вас может заинтересовать только FATAL. Этот выбор может быть сделан на уровне компонентов программно или в файле конфигурации XML.

Лесорубы и аппендеры

Для гибкости log4net использует регистраторы, приложения и макеты. Регистратор - это объект, который управляет журналированием и является реализацией интерфейса ILog, который определяет пять логических методов: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled и IsFatalEnabled. Он также определяет пять методов - Debug, Info, Warn, Error иFatal - наряду с перегрузками и пятью версиями форматированных строк. Вы можете увидеть полный интерфейс ILog в онлайн-руководстве log4net.

Регистраторам назначается один из уровней, но не ВСЕ или ВЫКЛ, только остальные пять.

Appenders контролируют, куда идет регистрация. Он может находиться в базе данных, в буфере в памяти, на консоли, на удаленном хосте, в текстовом файле с непрерывными журналами, журнале событий Windows или даже по электронной почте через SMTP. Всего имеется 22 приложения, которые можно комбинировать, чтобы у вас было много вариантов. Appenders добавляются (отсюда и название) в логгер.

Добавляющие фильтруют события, сопоставляя подстроки, уровень событий, диапазон уровней и начало имени регистратора.

Макеты

Наконец, есть семь макетов, которые могут быть связаны с Appender. Они управляют тем, как регистрируется сообщение о событии, и могут включать в себя текст исключения, макеты отметок времени и Элементы XML.

Конфигурирование с XML

Хотя настройка может быть выполнена программно, она также может быть выполнена с помощью файлов XML Config. Почему вы предпочитаете файлы конфигурации, а не изменения кода? Все просто, гораздо проще, чтобы специалист службы поддержки внес изменения в файл конфигурации, чем чтобы программист изменил код, протестировал и повторно развернул новую версию. Таким образом, файлы конфигурации - это путь. Самый простой возможный путь - добавить App.config вашего проекта, как показано в примере ниже:

1.0UTF-8





















Онлайновая документация log4net объясняет все поля файла конфигурации. Установив App.config, добавьте используя log4net и эту строку:

[сборка: log4net. Config. XmlConfigurator (Watch = true)]

Плюс фактический регистратор должен быть извлечен с вызовом LogManager. GetLogger (...). GetLogger обычно вызывается с typeof (классом), в котором он используется, но этот вызов функции также извлекает, что:

Система. Отражение. MethodBase. GetCurrentMethod (). DeclaringType

Этот пример показывает оба с одним комментарием, так что вы можете выбрать.

используя log4net;
[сборка: log4net. Config. XmlConfigurator (Watch = true)]
пространство имен gvmake
{
Программа класса
{
приватное статическое чтение только для ILog log = LogManager. GetLogger (Система. Отражение. MethodBase. GetCurrentMethod
() .DeclaringType);
// приватное статическое чтение только для ILog log = LogManager. GetLogger (typeof (Программа));
static void Main (строка [] args)
{
журнал. Отладка («Запуск приложения»);
}
}
}

instagram story viewer