Подтвердить что ты не робот

NLog LogException, похоже, игнорирует исключение

LogException или любая из производных функций, таких как ErrorException и т.д., кажется, полностью игнорирует параметр исключения, переданный в.

Мне не хватает атрибута формата в файле nlog.config? Я использую шаблон шаблона из шаблона, который Nlog устанавливает в VS.

Я ожидаю, что информация из объекта исключения И внутренние исключения будут добавлены в файл журнала. Однако единственной информацией, добавленной в файл журнала, является строковый параметр, переданный функции.

Оказывается, что ErrorException() на самом деле менее полезен, чем Error()

Как я могу получить более подробную информацию. В частности, полный рекурсивный дамп свойства Message для всех внутренних Exceptions?

4b9b3361

Ответ 1

Добавьте или замените тег ${exception} в конфигурации макета на ${exception:format=tostring}

 <targets>
    <target name="errorLogFile" xsi:type="File" fileName="errors.txt" 
            layout="${message} ${exception:format=tostring}"/>
</targets>

Ответ 2

Основываясь на ответе @Niki, это даст вам довольно близко к тому, что будет делать log4net

fileName="${basedir}/logs/${shortdate}.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:inner=${newline}${exception:format=tostring}}"