Introduction
備忘録。
よくあるロギングライブラリが備えている機能として、実行した日時毎にログファイルを出力し、古いファイルを退避または削除していく機能が NLog にも備わっている。
が、備わってはいるが、バージョンによって異なる挙動をするため、設定によっては意図した挙動をしない。
What does it mean?
3.0.0
かなり古いバージョンだが、原則、このバージョンではカレントのログファイルに日付をつけ、退避 (Archive) するファイルにも日付をつけることができない。
1 | <target |
上記の設定では
- カレントのログファイルは
Application.log- 日付をつけることができない
Logs配下にApplication.<yyyyMMdd>.logという名前で archive する- archive されるファイルが最大が 7
となる
4.0.0
こちらはそこそこ新しいバージョン。archiveEvery=Year が肝。
1 | <target |
上記の設定では
- カレントのログファイルは
Application.<today:yyyyMMdd>.log Logs配下にApplication.<yyyyMMdd>.logという名前で archive する- archive されるファイルが最大が 7
となる。
現在の最新バージョンでも有効。
4.5.0
こちらもそこそこ新しいバージョン。archiveEvery が存在しないことが肝。
1 | <target |
上記の設定では
- カレントのログファイルは
Application.<today:yyyyMMdd>.log Logs配下にApplication.<yyyyMMdd>.logという名前で archive する- archive されるファイルが最大が 7
となる。
恐らく archiveEvery=None となり、archiveEvery=Year に近い挙動になっていると思われる。
