NLog LogException, похоже, игнорирует исключение
LogException
или любая из производных функций, таких как ErrorException
и т.д., кажется, полностью игнорирует параметр исключения, переданный в.
Мне не хватает атрибута формата в файле nlog.config
?
Я использую шаблон шаблона из шаблона, который Nlog устанавливает в VS.
Я ожидаю, что информация из объекта исключения И внутренние исключения будут добавлены в файл журнала. Однако единственной информацией, добавленной в файл журнала, является строковый параметр, переданный функции.
Оказывается, что ErrorException()
на самом деле менее полезен, чем Error()
Как я могу получить более подробную информацию. В частности, полный рекурсивный дамп свойства Message
для всех внутренних Exceptions
?
Ответы
Ответ 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}}"