Esto es para una aplicación hecha con Django 1.3, Python 2.7. De momento tengo esto sobre una clase definida para actuar en el middleware:
Código:
Y no sé si existe alguna manera de obtener la ruta al error. He intentado con "location" y "__location__", pero nada.class PruebaMiddleware:
def obtenerUsuario(self, request):
.....
def process_exception(self, request, exception):
import codecs
from time import strftime
from datetime import datetime
try:
mensaje = u'fecha - hora:%s\ntipo: %s\nvalor: %s\nusuario: %s\n\n' % (datetime.today().strftime("%d/%m/%Y %H:%M:%S"),
type(exception).__name__,
exception.__unicode__(),
self.obtenerUsuario(request))
archivo = codecs.open(settings.ARCHIVO_LOG, 'a', 'utf-8')
archivo.write(mensaje)
archivo.close()
except:
pass
return None
Mi idea, al final, es intentar pasar inicialmente los errores a la base de datos, pero si se provocase una excepción en ese intento pasarlo a un archivo log.
Como es algo simple no me he querido aventurar a inastalar django-sentry o algo así por que no me gustaría tocar tanto el servidor.
Saludos.


