stderrを介してのみApacheエラーログに書き込むことができるようです。コモンズのように、Python Webプロジェクトから使用できるより構造化されたロギングアーキテクチャを知っている人はいますか?
4 に答える
これは、過去 4 年間で変化したに違いありません。この質問に出くわし、これを実行したい場合は、リクエスト オブジェクトを介して実行できます。つまり、
def handler(req) :
req.log_error('Hello apache')
現在、Apache への mod_python ロギングのサポートは組み込まれていません。本当に Apache ログ内で作業したい場合は、このスレッドをチェックアウトできます (最初のコードではなく、投稿されたコードの 2 番目のバージョンを取得するようにしてください)。
- http://www.dojoforum.com/node/13239
- http://www.modpython.org/pipermail/mod_python/2005-October/019295.html
より構造化されたロギング システムの使用を検討している場合は、Blair が参照している Python 標準ロギング モジュールの機能が非常に充実しています。Blair がリンクした Python.org のドキュメントは別として、onLamp からのモジュールの機能の詳細を次に示します。
そして、簡単な使用例については:
私は過去に(非Web)プロジェクトで組み込みのPythonロギングモジュールを使用しましたが、成功しました。これはWebでホストされる環境でも機能するはずです。
Python ロギング モジュールに関する Blair Conrad の投稿に同意します。ただし、標準のログ ハンドラーはメッセージをドロップすることがあります。logging モジュールの SocketHandler を使用し、レシーバーを構築してメッセージをリッスンし、それらをファイルに書き込むことは価値があります。
これが私のものです: Example SocketHandler receiver。