Насколько гибок NLog? Мне нужны настраиваемые свойства макета

Я использую NLog для отправки писем, когда в моем приложении возникает исключение. Вот часть моей цели:

<target xsi:type="Mail"
        name="email"
        subject="${level}:"  .. >

Я получаю электронные письма с такими темами, как «Ошибка:» или «Неустранимая ошибка:». Это нормально работает, но я хочу добавить исключение. Сообщение на тему письма

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

m_oLogger.Fatal( oException.BuildMessage(), new {MyMessage=oException.Message});

* Обратите внимание, что BuildMessage () - это просто метод расширения для преобразования полной информации об исключении (включая внутренние исключения) в читаемую строку

И в моей цели:

<target xsi:type="Mail"
        name="email"
        subject="${level}: ${Custom.MyMessage}"  .. >

Затем я получал электронные письма с такими темами, как:

Fatal: Синтаксическая ошибка в параметрах или аргументы. Ответ сервера был: Аккаунт не существует

Возможна ли такая гибкость с помощью NLog? Если нет, знаете ли вы о других платформах ведения журналов .NET, которые предлагают такую ​​функциональность?

5
задан johnnyRose 19 July 2017 в 16:49
поделиться