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
に近い挙動になっていると思われる。