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.