1

このコードをデバッグしようとしています。この目標で、私はこのチュートリアルに従ってロギングを使用しようとしています。この目標を達成するために、次のコードをスクリプトに挿入します。

import logging

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')

logging.debug('This is a log message.')

そして、メッセージログを取得したいセクションに、次の行を挿入しましたlogging.debug ('This is a log message.')

def fcount(self,f,cat):
    res = db.GqlQuery("SELECT * FROM fc WHERE feature =:feature AND category =:category", feature = f, category = cat).get()
    logging.debug('This is a log message.')
#    res=self.con.execute(
#      'select count from fc where feature="%s" and category="%s"'
#      %(f,cat)).fetchone()
    if res is None: return 0
    else:
        res = fc.count
        return float(res)

私のアプリケーションはGAEアプリケーションであることがわかりました。また、ブラウザやPyScripterIDEに表示されないログメッセージが表示されません。ロギングメッセージのある画面はどこに表示されますか?

PS-私はこのコードを使用して、ログメッセージをファイルに交互に書き込んでみました:

import logging
logging.basicConfig(filename='log_filename.txt', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('This is a log message.') 

しかし、I/Oエラーが1つ見つかりました。

4

2 に答える 2

1

Google App Engineでロガーを実行しようとしていますか、それともローカルマシンで動作していませんか?GAEで機能しない場合は、ファイルに書き込むようにロガーを設定しているためです。GAEでは実際にはファイルシステムにアクセスできません。

非ファイルベースのログの場合、GAE管理コンソールにログが表示されます。(ローカルホストでは、次の場所にあります

http://localhost:8080/_ah/admin

GAEで実行されているロギングモジュールの使用方法については、https://developers.google.com/appengine/articles/loggingをご覧ください。

于 2012-08-14T01:35:05.290 に答える
1

PyScripterの詳細を説明することはできませんが、-d(または--debug)フラグをdev_appserver.pyに渡すようにIDEを設定する必要があります。これによりDEBUGログが有効になります。そうでない場合は、レベルINFO以上のメッセージのみが表示されます。

したがって、代わりに試すことができます:

logging.info('This is a log message.')
于 2012-08-14T01:38:27.910 に答える