12

RotatingFileHandlerPython には、ログ ファイルを自動的にローテーションする独自のものがあります。数週間または数か月ごとにログ ファイルをローテーションする必要がある Linux アプリケーションの一部として、構成ファイルを代わりにlogrotate.d使用するのとは違うのではないかと考えていますWatchedFileHandler

操作方法に違いはありますか?どちらの方法が他の方法よりも安全で、効率的で、優れていると考えられますか?

4

2 に答える 2

8

プログラムの対象読者は?

デスクトップ アプリケーションを作成していて、ほとんどのユーザーがログを読むことが期待できない場合は、ログを処理する必要があります。ローテーションするだけでなく、古いものを削除することもできます - 貧弱なユーザーのハード ドライブをいっぱいにしたくありません!

一方、読者が経験豊富な UNIX システム管理者である場合は、別のアプローチを取る必要があります。

システム管理者は、おそらく予想できない機能を必要とします。メールで送信したり、追加専用ストレージに書き込んだり、何でも構いません。この対象者にとっては、ロギングが可能な限り柔軟であることが最善です。フレキシブル (UNIX では) はシンプルを意味します。

また、システム管理者は、ロギングのやり方をもう一度学び直したくありません。この種の機能を提供したい場合でも、デフォルトがこの想定内で妥当であることを確認してください。

ついに。tdelaney は重要な点を指摘しました: 標準FileHandlerは書き込み先のファイルにあまり注意を払っていません。この目的のために特別に作成されたWatchedFileHandlerを使用する必要があります

于 2015-03-17T17:03:55.523 に答える
3

RotatingFileHandler を使用すると、ログ ファイルをサイズ N まで拡大し、すぐに自動的に新しいファイルにローテーションできます。

通常、logrotate.d は 1 日に 1 回実行されます。ログ ファイルのサイズを制限したい場合、logrotate.d は定期的にしか実行されないため、あまり役に立ちません。

于 2015-03-17T16:44:25.143 に答える