[Из песочницы] Подключаем log4net. Пошаговая инструкция
Как ни странно, но оказалось, что пошаговой инструкции для такой популярной библиотеки, как log4net, еще нет на Хабре. Исправляю эту недоработку.
Правой клавишей на References и выбираем Manage Nuget Packages:
В поисковой строке набираем log4net и находим пакет (в выдаче на первом месте):
Добавляем новый класс:
Не забудьте поставить ссылку на сборки в начале файла:
Теперь переходим к конфигу. В файле конфигурации App.config (или Web.config — если у вас это веб приложение) нужно внутри секции configuration добавить секцию log4net со следующим содержимым:
И сразу же после секции configuration должна стоять секция configSections, если её нет — добавьте (она должна быть первой) и внутри неё добавьте код для log4net. Если она одна — то выглядеть должно так:
Полностью конфиг у меня выглядит так:
Как видите имя логгера:
Совпадает с именем которое мы задали в классе Logger:
По этому имени связывается конфиг с кодом класса-обработчика. Уже сейчас наш логгер готов к работе, просто добавьте следующий код:
После запуска будет создана папка Logs и внутри будет файл Example.log с записью лога:
Давайте немного изменим логику логирования. Выделим записи уровня Error и выше в отдельный файл (например отладочных записей у нас достаточно много и спам читать неудобно). Для этого добавим в конфиг следующее:
B добавим ссылку на аппендер:
Теперь секция log4net выглядит так:
И если мы изменим код программы на:
То увидим что появился еще один файл ExampleError.log — в него будут выводиться только ошибки:
Ну, а за подробностями стоит обратиться к официальной документации. Спасибо за внимание!
Подключаем Nuget-пакет
Правой клавишей на References и выбираем Manage Nuget Packages:
В поисковой строке набираем log4net и находим пакет (в выдаче на первом месте):
Жмём кнопку «Install» и после установки пакета закрываем окно.
Создаем класс — обработчик.
Добавляем новый класс:
И называем его Logger:
Добавляем следующий код:
public static class Logger
{
private static ILog log = LogManager.GetLogger("LOGGER");
public static ILog Log
{
get { return log; }
}
public static void InitLogger()
{
XmlConfigurator.Configure();
}
}
Не забудьте поставить ссылку на сборки в начале файла:
using log4net;
using log4net.Config;
Настраиваем конфиг
Теперь переходим к конфигу. В файле конфигурации App.config (или Web.config — если у вас это веб приложение) нужно внутри секции configuration добавить секцию log4net со следующим содержимым:
И сразу же после секции configuration должна стоять секция configSections, если её нет — добавьте (она должна быть первой) и внутри неё добавьте код для log4net. Если она одна — то выглядеть должно так:
Полностью конфиг у меня выглядит так:
Как видите имя логгера:
Совпадает с именем которое мы задали в классе Logger:
private static ILog log = LogManager.GetLogger("LOGGER");
По этому имени связывается конфиг с кодом класса-обработчика. Уже сейчас наш логгер готов к работе, просто добавьте следующий код:
Logger.InitLogger();//инициализация - требуется один раз в начале
Logger.Log.Info("Ура заработало!");
После запуска будет создана папка Logs и внутри будет файл Example.log с записью лога:
2016-09-21 10:59:41,104 INFO Ура заработало!
Использование
Давайте немного изменим логику логирования. Выделим записи уровня Error и выше в отдельный файл (например отладочных записей у нас достаточно много и спам читать неудобно). Для этого добавим в конфиг следующее:
B добавим ссылку на аппендер:
Теперь секция log4net выглядит так:
И если мы изменим код программы на:
Logger.InitLogger();//инициализация - требуется один раз в начале
Logger.Log.Info("Ура заработало!");
Logger.Log.Error("Ошибочка вышла!");
То увидим что появился еще один файл ExampleError.log — в него будут выводиться только ошибки:
2016-09-21 11:14:58,933 ERROR 8 LOGGER - Ошибочка вышла!
Ну, а за подробностями стоит обратиться к официальной документации. Спасибо за внимание!
Комментарии (2)
23 сентября 2016 в 00:02
0↑
↓
Как ни странно, но оказалось, что пошаговой инструкции для такой популярной библиотеки, как log4net, еще нет на Хабре.
На Хабре нужны пошаговые инструкции ко всем библиотекам? ;)23 сентября 2016 в 00:24
0↑
↓
оно uwp умеет?