A certain engineer "COMPLEX"

開発メモ その31 NLogで動的にファイル名を設定する

Problem


NLogは動的にファイル名を設定する機能があります。
ここでは、ファイルパスを設定するプレースホルダーを解析するのではなく、独自のプレースホルダーを設定し、そのプレースホルダーに任意のテキストを設定する方法でファイル名を変更します。

Solution


まずは、NLog.configを変更します。

上記の ${var:runtime} に注目です。
ここが、プログラム実行中に変化する部分です。runtime の部分は任意の文字列を設定できます。

次に、ソース部分です。

Variablesプロパティに、先ほどの runtime をキーにして、任意の値を設定しています。
そして、設定を反映させるために、ReconfigExistingLoggers メソッドを呼び出しています。

以上で、出力先の実際のパスが 実行フォルダのパス\Logs\test\yyyyMMdd.log というログとして解釈されるようになります。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。