Je souhaite enregistrer certaines données à partir de variables de contexte (request
, session
) lors de la journalisation lors d'une demande Flask, mais utiliser le comportement par défaut sinon.
J'utilise un try ... except
bloquer dans logging.formatter
. Existe-t-il un meilleur moyen de vérifier le contexte d'une demande?
try:
record.user = session['user_name']
record.very_important_data = request.super_secret
except Exception:
record.user = None
Utilisation has_request_context
ou has_app_context
.
if has_request_context():
# request is active
Alternativement, current_app
, g
, request
et session
sont toutes des instances de LocalProxy
. Si un proxy n'est pas lié, il sera False
lorsqu'il sera traité comme un booléen.
if request:
# request is active