2011-12-21 7 views
10

以前のpythonicプロジェクトではlog4Jとlog4Nを使用しました。私は、警告、エラー、エスカレーションのヒーローが好きです。エラーをログに記録し、サポートチームに深刻なメール​​を送信する機能。また、小さなLINUXデバイス上で実行されるので、自動ログファイルサイクリングも重要です。Pythonでログインしますか?

これを標準のPythonロギングモジュールで行うことができますか、それとも良い方法がありますか?

+1

標準の 'logging'モジュールは、おそらくあなたのニーズに完全に適しています。 – eumiro

+0

@eumiro:AFAIKは、ログファイルサイクリングをサポートしていませんか? – Constantinius

+0

@ Constantinius - それはファイルのローテーションを持っています:http://docs.python.org/howto/logging-cookbook.html#using-file-rotation – eumiro

答えて

11

はい、logging moduleのログレベルはDEBUG、INFO、WARNING、ERROR、CRITICALです。ログレベルがCRITICALのときにメールを送信するようにSMTPHandlerを設定し、RotatingFileHandlerを設定してログファイルの数とサイズを制限することができます。

7

標準のPython loggingモジュールは、log4Jに明白に触発されているため、ほぼ確実に適切なものになります。それは同じ階層構造を持ち、ファイルへのログであろうとSMTP経由での電子メールアドレスであろうと、1つ以上のレベルを聞き、適切な何かを行うハンドラを定義することができます。 Python logging tutorialを参照してください。

関連する問題