2009-12-06 8 views
3

J'utilise le module "logging" pour enregistrer une très grande quantité de messages. Je voudrais ajouter "user" (request.user) au journal. Mais alors qu'il est disponible dans la fonction de vue, je ne veux pas le transmettre à tous les assistants.Connexion Django avec l'utilisateur/ip

Est-ce que quelqu'un connaît un moyen de cela? [Je pensais à marcher peut-être en quelque sorte la trace jusqu'à ce que je trouve une fonction avec « demande » dans ses args]

Merci à l'avance

Répondre

3

La façon hacky à faire est de coller la demande (ou demande. utilisateur) dans threadlocal storage.

La manière correcte et maintenable est de passer explicitement les données dont vous avez besoin dans les fonctions qui en ont besoin. Si cela s'avère trop onéreux, cela peut révéler un problème plus profond dans la façon dont vous avez structuré votre code.

+0

Comme il ne s'agit que d'un outil de débogage, je ne veux pas commencer à contourner le 'contexte' entre toutes les fonctions. Ressemble à un moyen idéal d'insérer des crochets dans un serveur de dev. Merci ! – Boris

+0

lien ne fonctionne pas aujourd'hui – Efazati

Questions connexes