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

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

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

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

Получается что ErrorException() на самом деле менее полезен, чем Error()

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

2 ответа

Решение

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

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

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

fileName="${basedir}/logs/${shortdate}.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}${onexception:inner=${newline}${exception:format=tostring}}"
Другие вопросы по тегам