はじめに
.Net FrameworkではNLogでの出力ファイルがshift-jis形式だった。
.NETで同じNLog.configファイルを使ってもUTF-8形式に変わってしまった。
解決方法
NLogの問題ではなく、.NETの問題だった。
shift_jisなどのマイナーエンコードは明示的に読み込まないといけなくなったらしい。
下記2か所に対応することでshift_jis出力されるようになった。
Program.cs
//Encodingを明示的に読み込む。
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
NLog.confg
//"shift_jis"指定する
<target name="name01" xsi:type="File" encoding="shift_jis" ...>