1

Django を実行するための app-engine-patch を使用して、GAE 開発サーバーでアプリを実行しています。私のビューの 1 つが盗聴されているため、発生したすべてをログに記録したいと考えています。

myapp.views に追加しました:

import logging
LOG_FILENAME = '/mylog.txt'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)

私の機能は次のとおりです。

def function(string):
    logging.debug('new call')
    #do stuff
    #logging.debug('log stuff')

私の問題は、ログが見つからないことです。アプリを実行してもエラーは発生しませんが、ログは作成されません。/mylog.txt 、mylog.txt 、 c:\mylog.txt 、 c:\complete\path\to \my\app\mylog.txt など、さまざまなパスも試しましたが、機能しません。

一方、別のテストを作成して実行しようとしました: #test.py import logging

LOG_FILENAME = '/mylog.txt'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)

logging.debug('test')

ログは問題なく作成されます: c:\mylog.txt

私はロギングに慣れていないので、django や appengine に問題があるかどうかはわかりません。

ありがとう

4

3 に答える 3

3

App Engine 上のファイルに書き込むことはできません。したがって、テキスト ファイルにログを記録しようとしても失敗する運命にあります。ログ出力は、開発中の SDK コンソール、または本番環境のログ コンソールに表示されます。

于 2010-09-01T13:52:26.297 に答える
0

問題は、ログ構成をビューに入れたことだと思います。django ロギングの一般的な経験則は、settings.py でログ構成を設定することです。

于 2010-09-01T13:36:22.323 に答える
0

デフォルトでは、dev_appserver はデバッグ ログを抑制します。オンにするには、--debugオプションで実行します。dev_appserver 自体は同じロガーを使用し、気にしないかもしれない多くのデバッグ情報を吐き出すことに注意してください。

ログは stderr に出力されます。

于 2010-09-02T14:17:08.650 に答える