On Oct 6, 3:42 pm, Fred <frse...@adventistcare.org> wrote: > My django app is working great with Debug=True. But now I'm in > production and I want to email exceptions to me and print them to my > logfile. I've been googling and searching the docs for the last 2 > hours and what I really need is a snippet that shows how to do it in > middleware/settings.py. I've never defined my own middleware and I'm > just treading water. I've combined everything into my settings.py > file to make it easier to explain, even if that may be bad design for > now. Here's as far as I've gotten; which just times out on even valid > requests: > > ---------------------------- > settings.py--------------------------------------------------------------- > partial > > def init_logging(): > formatter = logging.Formatter("%(asctime)s - %(name)s - % > (levelname)s - %(message)s") > filelogger = logging.getLogger() > filehandler = logging.FileHandler(LOGFILEPATH) > filelogger.setLevel(logging.DEBUG) > filehandler.setFormatter(formatter) > filelogger.addHandler(filehandler) > > logInitDone=False > if not logInitDone: > logInitDone = True > init_logging() > > logger = logging.getLogger("settings") #verified this logger does > work. > > def process_exception(self, request, exception): > logger.debug(str(request)) > logger.debug(str(exception)) > return None > > MIDDLEWARE_CLASSES = ( > 'process_exception', #if I comment this out, system works, with > it in response hangs even without error > 'django.middleware.common.CommonMiddleware', > 'django.contrib.sessions.middleware.SessionMiddleware', > # 'django.middleware.csrf.CsrfViewMiddleware', > # 'django.contrib.auth.middleware.AuthenticationMiddleware', > 'django.contrib.messages.middleware.MessageMiddleware', > )
Your middleware should be a class which implements the process_exception method. class LogMiddleware(object): def process_exception(self, request, exception): ...etc... Also, note that Django already emails on 500 errors (and optionally on 404s) to the users listed in the ADMINS setting. See http://docs.djangoproject.com/en/1.2/howto/error-reporting/ -- DR -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.