現在、NLogが実際に例外をログに記録していることを証明するために、NLogがCSVファイルを吐き出している。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogToConsole="true" internalLogToConsoleError="true">
<targets>
<target name="file" xsi:type="File" fileName="${specialfolder:folder=ApplicationData}/log.csv">
<layout xsi:type="CSVLayout">
<column name="User_Machine_Name" layout="${machinename}" />
<column name="Time" layout="${date}" />
<column name="Level" layout="${level}" />
<column name="Message" layout="${message}" />
<column name="Exception_Message" layout="${exception:format=Message}"/>
<column name="Exception_Type" layout="${exception:format=Type}"/>
<column name="Callsite_Class" layout="${callsite:methodName=false}" />
<column name="Callsite_Method" layout="${callsite:className=false}" />
<column name="Stack_Trace" layout="${stacktrace:format=DetailedFlat}"/>
</layout>
</target>
<target name="console" xsi:type="Console"
layout="${longdate}|${level}|${message}">
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="file" />
</rules>
これは、XMLで出力する必要があることを除いて、期待どおりに機能しています。NLogのドキュメントを調べましたが、Log4JXmlEventLayoutがあることだけがわかりましたが、ドキュメントにはその使用方法が記載されていません。私はNLogを初めて使用しますが、このテーマに関するリソースをあまり見つけることができません。