2016-10-27 7 views
7

Flaskリクエスト中にロギングするときにコンテキスト変数(requestsession)からデータをログに記録したいが、そうでない場合はデフォルトの動作を使用したい。Flaskリクエストコンテキストが利用可能かどうか確認してください

try ... exceptブロックをlogging.formatterに使用しています。リクエストのコンテキストを確認する良い方法はありますか?

try: 
    record.user = session['user_name'] 
    record.very_important_data = request.super_secret 
except Exception: 
    record.user = None 

答えて

11

has_request_contextまたはhas_app_contextを使用してください。あるいは

if has_request_context(): 
    # request is active 

current_appgrequest、そしてsessionLocalProxyのすべてのインスタンスです。プロキシがバインドされていない場合は、ブール値として扱われるとFalseになります。

if request: 
    # request is active 
関連する問題