我使用Nlog进行调试/信息/例外。它的工作正常,但问题是当我记录异常时它会在新行上记录堆栈跟踪。
有人可以帮助我如何使用一行,布局我使用:
<target xsi:type="File" name="default" layout="${longdate} -- [${level:uppercase=true}] -- ${message} ${onexception:${newline}EXCEPTION OCCURED\: ${exception:format=ToString}}"
fileName="${basedir}/logs/logfile.txt" keepFileOpen="false"
archiveFileName="${basedir}/logs/archive/logfile_${shortdate}.{##}.log"
archiveNumbering="Sequence" archiveEvery="Day" maxArchiveFiles="30" />
我正在尝试编写一个小型查看器,它将读取log.txt并逐行阅读一些占位符,以便获得任何帮助。
答案 0 :(得分:2)
ToString
格式是带有换行符的默认.NET格式。您可以用${replace-newlines
替换它们,但它有点hacky。它看起来像这样:
${replace-newlines:${exception:format=ToString}}}
,
更好的选择是列出您需要的属性并设置分隔符。 ${exception} are listed at NLog's wiki的所有选项。例如:
${exception:format=message,type,method,stacktrace:innerExceptionSeparator=|:separator:,maxInnerExceptionLevel=10}
PS:此处不需要maxInnerExceptionLevel
,但建议将默认设置为0。