訂正とお詫び
コメントでご指摘いただきましたがBOMがないことでエディターが、SJISとUTF-8を判別できないことによることが原因でした。
以下の記事は間違いでwriteBom=trueとしなくてもUTF-8で出力可能です。
環境
NLog 4.5.11
encodingの指定
以下のようにencoding="utf-8"とすればログファイルはutf-8になるはずだが、SJISで出力される。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd">
<targets>
<target name="event"
xsi:type="File"
encoding="utf-8"
layout="${longdate} ${message}"
fileName="${basedir}/logs/event.log" />
</targets>
<rules>
<logger name="*" levels="Info,Warn" writeTo="event" />
</rules>
</nlog>
対処
writeBom="true"を指定したらutf-8で出力されるようになりました。
writeBom="false"では変わらずSJISで出力されます。
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd">
<targets>
<target name="event"
xsi:type="File"
encoding="utf-8"
writeBom="true"
layout="${longdate} ${message}"
fileName="${basedir}/logs/event.log" />
</targets>
<rules>
<logger name="*" levels="Info,Warn" writeTo="event" />
</rules>
</nlog>