以前のpythonicプロジェクトではlog4Jとlog4Nを使用しました。私は、警告、エラー、エスカレーションのヒーローが好きです。エラーをログに記録し、サポートチームに深刻なメールを送信する機能。また、小さなLINUXデバイス上で実行されるので、自動ログファイルサイクリングも重要です。Pythonでログインしますか?
これを標準のPythonロギングモジュールで行うことができますか、それとも良い方法がありますか?
以前のpythonicプロジェクトではlog4Jとlog4Nを使用しました。私は、警告、エラー、エスカレーションのヒーローが好きです。エラーをログに記録し、サポートチームに深刻なメールを送信する機能。また、小さなLINUXデバイス上で実行されるので、自動ログファイルサイクリングも重要です。Pythonでログインしますか?
これを標準のPythonロギングモジュールで行うことができますか、それとも良い方法がありますか?
はい、logging moduleのログレベルはDEBUG、INFO、WARNING、ERROR、CRITICALです。ログレベルがCRITICALのときにメールを送信するようにSMTPHandlerを設定し、RotatingFileHandlerを設定してログファイルの数とサイズを制限することができます。
標準のPython logging
モジュールは、log4Jに明白に触発されているため、ほぼ確実に適切なものになります。それは同じ階層構造を持ち、ファイルへのログであろうとSMTP経由での電子メールアドレスであろうと、1つ以上のレベルを聞き、適切な何かを行うハンドラを定義することができます。 Python logging tutorialを参照してください。
標準の 'logging'モジュールは、おそらくあなたのニーズに完全に適しています。 – eumiro
@eumiro:AFAIKは、ログファイルサイクリングをサポートしていませんか? – Constantinius
@ Constantinius - それはファイルのローテーションを持っています:http://docs.python.org/howto/logging-cookbook.html#using-file-rotation – eumiro