Задача: создать два лога.Первый для записи Info, второй для записи Errors. Использую NLog. С первой половиной задачи справился: создал первый логгер и записал его в файл (file.txt). Не получается создать второй, прошу помощи.
Файл App.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName="D://file.txt" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
</nlog>
</configuration>
Фрагмент кода с логгером:
public partial class FormDepocs : Form
{
Depo depo;
FormSelectLoco form;
private Logger log;
public FormDepocs()
{
InitializeComponent();
log = LogManager.GetCurrentClassLogger();
depo = new Depo(5);
for (int i = 1; i < 6; i++)
{
listBoxLevels.Items.Add("Уровень " + i);
}
listBoxLevels.SelectedIndex = depo.getCurrentLevel;
Draw();
}
Далее строчкой log.Info("Сообщение с логом!");
добавляю все в лог.
В настройках есть так называемые цели (target) и правила (rules).
Посмотрим ваш код:
<targets>
<target name="logfile" xsi:type="File" fileName="D://file.txt" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="logfile" />
</rules>
Вы имеете:
D://file.txt"
).Info
и отдавать их цели logfile
).То есть тут все довольно просто, действуйте аналогично...
К примеру, хотите записать в отельный файл только ошибки:
Создаете новую цель
<target name="errorfile" xsi:type="File" fileName="D://errors.txt" />
Создаем новое правило, которое будет отлавливать ошибки Warn
, Error
и Fatal
. (заметьте, я тут явно указал какие уровни логов мне нужны, можно и указать минимальный).
<logger name="*" levels="Fatal,Error" writeTo="errorfile" />
Все, остальное за вас сделает сам NLog
. Советую прочитать документацию.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня программа для решения уравнения методом касательнойНа форме разместила интервал и точность, а на кнопку Вычислить нужно прописать...
Здрастувуйте! Как сделать чтобы при выборе CheckBox пароль скрывался и наоборот, все никак не могу понять
Применение BlockingCollection, используя подход, когда элементы вытаскиваются из очереди(например ConcurrentQueue), используя метод Take в цикле - всегда блокирует...