メイン画像

NLog - ファイルのアーカイブ

NLog - ファイルのアーカイブ


ログファイルのアーカイブについて。

NLog ではファイル名のアーカイブロジックに動的と静的があるが、これらを混在させてはならない。

動的と静的の違いは次のとおり。

 

動的ファイル名アーカイブロジック
fileName にレイアウトレンダラーを使うことで有効になる。
レイアウトレンダラーによって、動的にロール/アーカイブされる。
archiveFileName="..." または archiveEvery="Day" と一緒に使用してはならない。

例)日付が変わるたびに新しいファイルを作る

<target name="file" xsi:type="File"
    ...
    fileName="${shortdate}.log"
/>

 

静的ファイル名アーカイブロジック
archiveEvery="Day"archiveFileName="..." を使うことで有効になる。

fileName="..." または archiveFileName="..." には ${shortdate} のような動的なレイアウトレンダラーを使ってはならない。

その代わりに {#} と一緒に archiveDateFormat を使用する。

例)アーカイブのファイル名に日付を付ける

<target name="file" xsi:type="File"
    ...
    fileName="logfile.txt"
    archiveFileName="log.{#}.txt"
    archiveNumbering="Date"
    archiveEvery="Day"
    archiveDateFormat="yyyyMMdd"
/>

最新のファイルは logfile.txt となり、アーカイブのファイルは log.20240727.txt のようになる。

 

保持するアーカイブファイルの最大数を maxArchiveFiles で設定できる。

設定値が 0 以下の場合、古いファイルは削除されない。
それ以外の場合、ファイル数が設定値を超えると古いファイルを自動で消してくれる。

<target name="file" xsi:type="File"
    ...
    fileName="${shortdate}.txt"
    maxArchiveFiles="4"
/>

アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事