2016-10-27 58 views
7

我想燒瓶中請求期間登錄時記錄從上下文變量(requestsession)的一些數據,但使用默認的行爲,如果不。檢查瓶請求上下文可

我在logging.formatter使用try ... except塊。有沒有更好的方法來檢查請求上下文?

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

回答

11

使用has_request_contexthas_app_context

if has_request_context(): 
    # request is active 

或者,current_appgrequest,和sessionLocalProxy所有實例。如果代理沒有綁定,當作爲布爾值處理時,它將是False

if request: 
    # request is active