2011-04-22 9 views
3

Google App Engineのログを管理コンソール外で表示するにはどうすればよいですか?Google App Engineのログ出力をキャプチャする

私は開発中ですので、dev_appserver.py/Admin Consoleを使用しており、レコードが放出されるのを待ってログを表示したいと考えています。

標準のUnixツールを使用してコンソールでログ出力を監視したいとします。 less/grep/etcなどがありますが、dev_appserver.pyコマンドからログを出力するオプションがないようで、GAE(FileHandlerなど)で新しいファイルを開くことができないため、ファイルハンドラは機能しません。私はsocket/udpハンドラを使うのはちょっと残忍なことかもしれないと思う。

ログを表示するための他のオプションがあることを願っています。

読んでいただきありがとうございます。

+0

GAEフォーラムディスカッション:http://code.google.com/appengine/forum/python-forum.html?place=topic%2Fgoogle-appengine-python%2FsMfaGtLiV7M%2Fdiscussion –

答えて

5

デフォルトのロガーは、stderrにログ出力を送信します。ファイルへのstderrをリダイレクトするシェルのメソッドを使用し(tcshの場合、(dev_appserver.py > /dev/tty) >& your_logfile.txtで、あなたのシェルは異なる場合があります。)あなたはそれを実行している検出している場合は、ファイルに直接送信するロガーを変更するにはpythonでloggingモジュールを使用することができます

ローカル(os.environ['SERVER_SOFTWARE'].startswith('Dev')

+0

'logging'モジュールはGAEからファイルに書き込めますか?ファイル操作は禁止されていません(w/testbedを除く)。唯一のオプションは、ソケットやHTTPなどのロガーではないでしょうか? –

+0

@Brian:App Engineのサンドボックスはここでは無関係です。この解決策は、出力をローカルマシン上のファイル(ファイルシステムがおそらく書き込み可能である)にリダイレクトするシェルを必要とします。明らかに、これは運用サーバー上では機能しませんが、ログが保存されるので不要です。 – geoffspear

2

あなたがappcfg.py

http://code.google.com/appengine/docs/python/tools/uploadinganapp.html#Downloading_Logs

request_logsパラメータを使用してログをダウンロードすることができます編集:この人はXMPPの上にログを送信する方法を思いついた 。彼の解決策はGAE Javaですが、これはPythonに適合させることができます。

http://www.professionalintellectualdevelopment.com/

http://code.google.com/p/gae-xmpp-logger/

+0

申し訳ありませんが、私が持っている必要があります明らかに:私は開発中にログを取得したい(したがって、 'dev_appserver.py 'への参照)。それ以外の場合は、あなたは正しい答えを持っていると思います。 :) –