RotatingFileHandler
Python には、ログ ファイルを自動的にローテーションする独自のものがあります。数週間または数か月ごとにログ ファイルをローテーションする必要がある Linux アプリケーションの一部として、構成ファイルを代わりにlogrotate.d
使用するのとは違うのではないかと考えていますWatchedFileHandler
。
操作方法に違いはありますか?どちらの方法が他の方法よりも安全で、効率的で、優れていると考えられますか?
RotatingFileHandler
Python には、ログ ファイルを自動的にローテーションする独自のものがあります。数週間または数か月ごとにログ ファイルをローテーションする必要がある Linux アプリケーションの一部として、構成ファイルを代わりにlogrotate.d
使用するのとは違うのではないかと考えていますWatchedFileHandler
。
操作方法に違いはありますか?どちらの方法が他の方法よりも安全で、効率的で、優れていると考えられますか?
プログラムの対象読者は?
デスクトップ アプリケーションを作成していて、ほとんどのユーザーがログを読むことが期待できない場合は、ログを処理する必要があります。ローテーションするだけでなく、古いものを削除することもできます - 貧弱なユーザーのハード ドライブをいっぱいにしたくありません!
一方、読者が経験豊富な UNIX システム管理者である場合は、別のアプローチを取る必要があります。
システム管理者は、おそらく予想できない機能を必要とします。メールで送信したり、追加専用ストレージに書き込んだり、何でも構いません。この対象者にとっては、ロギングが可能な限り柔軟であることが最善です。フレキシブル (UNIX では) はシンプルを意味します。
また、システム管理者は、ロギングのやり方をもう一度学び直したくありません。この種の機能を提供したい場合でも、デフォルトがこの想定内で妥当であることを確認してください。
ついに。tdelaney は重要な点を指摘しました: 標準FileHandler
は書き込み先のファイルにあまり注意を払っていません。この目的のために特別に作成されたWatchedFileHandlerを使用する必要があります
RotatingFileHandler を使用すると、ログ ファイルをサイズ N まで拡大し、すぐに自動的に新しいファイルにローテーションできます。
通常、logrotate.d は 1 日に 1 回実行されます。ログ ファイルのサイズを制限したい場合、logrotate.d は定期的にしか実行されないため、あまり役に立ちません。