src/cm/utils/log.py
author gibus
Wed, 11 Sep 2013 23:13:01 +0200
changeset 532 0bad3613f59d
parent 201 e0032b64c314
permissions -rw-r--r--
Reverse to YUI 3.0.0 since with YUI.3.10.3, comment content including words 'paragraph' or 'section' do not show up on Firefox, this is weird and has to be investigated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
201
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     1
from django.conf import settings
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     2
from django.core.mail import mail_admins
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     3
import sys
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     4
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     5
def _get_traceback(exc_info):
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     6
    import traceback
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     7
    return '\n'.join(traceback.format_exception(*(exc_info or sys.exc_info())))
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     8
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
     9
def error_mail_admins(subject='Error', request=None):
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    10
    if request:        
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    11
        subject = 'Error (%s IP): %s' % ((request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS and 'internal' or 'EXTERNAL'), request.path)
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    12
        
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    13
    try:
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    14
        request_repr = repr(request)
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    15
    except:
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    16
        request_repr = "Request repr() unavailable"
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    17
        
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    18
    exc_info = sys.exc_info()
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    19
    message = "%s\n\n%s" % (_get_traceback(exc_info), request_repr)
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    20
    
e0032b64c314 add try/except for local timezone conversion to prevent timezone error (mail admins)
raph
parents:
diff changeset
    21
    mail_admins(subject, message, fail_silently=True)