/ / logging solicitar información a archivo, en funciones internas (Django) - django, logging

información de solicitud de registro a archivo, en funciones internas (Django) - django, registro

Estoy usando logger simple para guardar información de depuración paraexpediente. Mi problema es que quiero que cada línea del registro tenga un prefijo con información de solicitud (por ejemplo, usuario, url), y las funciones internas activadas por la vista no tienen acceso al parámetro de solicitud.

Yo pense acerca de

  1. pasando la solicitud a cada función - muy mal
  2. subiendo por la pila de rastreo, buscando "solicitud" en variables locales, no estoy seguro de cómo hacerlo o si será demasiado lento (por ejemplo, registrar hasta ~ 100 veces por solicitud)
  3. rodeando la función de vista con un "con"declaración que mantendrá toda la información de la solicitud en una variable global (clave = ID de hilo) - no se recomienda como riesgo de seguridad (http://code.djangoproject.com/wiki/CookBookThreadlocalsAndUser) y requiere sangrar todo el código en la vista

¿Hay una solución elegante?

Respuestas

1 para la respuesta № 1

Creo que desea usar un filtro que agregue atributos de solicitud a sus mensajes de registro. Este paquete parece abordar esto: http://pypi.python.org/pypi/django-requestlogging


0 para la respuesta № 2

Esto puede no ser exactamente lo que estás buscando, pero django-centinela proporciona la funcionalidad que describe (con una interfaz web agradable también). Podría ser más fácil que intentar rodar tu propia solución.