Что такое NLog? Для чего он? Если можно приведите какие-то примеры
NLog
- это отличный помощник для нас, разработчиков, который помогает реализовать грамотное логирование действий. При внедрение его в проект, вы можете настроить сохранение указанных действий в файл, отправить на сервер или почту, либо сохранить запись в базе.
Давайте разберем простой пример:
При внедрение NLog
в проект, вам потребуется файл конфигурации (это может быть отдельно файл NLog.config
или можно все уместить в App.config
).
Содержимое конфигурационного файла:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="run_log"
xsi:type="File"
layout="${longdate}|${level}| ${message}"
fileName="${basedir}/Application.log"/>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="run_log" />
</rules>
</nlog>
Что мы видим?
Application.log
строку в формате "дата|уровень|сообщение", формат можете настроить под свои нужны.Debug
и выше, то отдать его цели run_log
, которое в свою очередь должно записать в файл информацию".Надеюсь с конфигурацией мы разобрались. Перейдем тогда к коду, добавим к примеру вот такие строки в наш проект:
Logger logger = LogManager.GetCurrentClassLogger();
log.Trace("trace message");
log.Debug("debug message");
log.Info("info message");
log.Warn("warn message");
log.Error("error message");
log.Fatal("fatal message");
Хорошо, что видим тут? А все довольно просто, мы создаем некий объект logger
, в нем есть необходимые нам методы для создания лога. Мы можем вызвать log.Log(уровень,сообщение)
- указав нужный уровень лога, а можем вызвать под каждый уровень свой метод (как в примере).
В итоге у нас должен создасться файл Application.log
с примерно таким содержимым:
2018-05-06 14:33:46.0911|TRACE|trace message
2018-05-06 14:33:46.1380|DEBUG|debug message
2018-05-06 14:33:46.1380|INFO|info message
2018-05-06 14:33:46.1536|WARN|warn message
2018-05-06 14:33:46.1536|ERROR|error message
2018-05-06 14:33:46.1693|FATAL|fatal message
Надеюсь это поможет вам в понятие такой вещи, как NLog
, вы можете также поглядеть данную статью.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу выучить язык С# но должен ли я читать книги которые по С# 60(моя версия С# в которой я и хочу кодить ) или же могу прочитать C# 4
Создаю веб сервер на который будут отправляться post запросы от других серверов, создал контроллер
ЗдравствуйтеЕсли есть 2 класса class A и class B:A{} и создать объект класса B, но ссылку дать на A, т