2013-06-28 5 views
10

Ich habe Probleme mit Django (1.5.1) Fehler E-Mail-Berichte nicht gesendet werden.Django Fehler E-Mail-Bericht wird nicht gesendet

hier ist meine conf Einstellungen mit gmail verwenden

DEFAULT_FROM_EMAIL = '[email protected]' 

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'passs' 
EMAIL_USE_TLS = True 

SERVER_EMAIL = '[email protected]' 

ADMINS = (
    ('Adam Min', '[email protected]'), 
) 

Wenn ich MANAGERS = ADMINS hinzufügen dann erhalte ich E-Mails für 404 der aber ohne MANAGERS Einstellung erhalte ich gar nichts.

Ich habe eine fehlerhafte URL erstellt, damit ich das testen kann.

Auch ich fand diese ähnliche Q Django emailing on errors, aber es hat mir nicht geholfen.

EDIT: auch in Config Ich habe DEBUG = False und dieses

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': True, 
    'formatters': { 
     'verbose': { 
      'format': '%(levelname)s [%(asctime)s] %(module)s %(message)s' 
     }, 
     'simple': { 
      'format': '%(levelname)s %(message)s' 
     }, 
    }, 
    'filters': { 
     'require_debug_false': { 
       '()': 'django.utils.log.RequireDebugFalse', 
     } 
    }, 
    'handlers': { 
     'console': { 
      'level': 'DEBUG', 
      'class': 'logging.StreamHandler', 
      'formatter': 'simple' 
     }, 
     'file': { 
      'class': 'logging.handlers.RotatingFileHandler', 
      'formatter': 'verbose', 
      'filename': '/var/www/logs/ibiddjango.log', 
      'maxBytes': 1024000, 
      'backupCount': 3, 
     }, 
     'sql': { 
      'class': 'logging.handlers.RotatingFileHandler', 
      'formatter': 'verbose', 
      'filename': '/var/www/logs/sql.log', 
      'maxBytes': 102400, 
      'backupCount': 3, 
     }, 
     'commands': { 
      'class': 'logging.handlers.RotatingFileHandler', 
      'formatter': 'verbose', 
      'filename': '/var/www/logs/commands.log', 
      'maxBytes': 10240, 
      'backupCount': 3, 
     }, 
     'mail_admins': { 
      'level': 'ERROR', 
      'filters': ['require_debug_false'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['file', 'console'], 
      'propagate': True, 
      'level': 'DEBUG', 
     }, 
     'django.db.backends': { 
      'handlers': ['sql', 'console'], 
      'propagate': False, 
      'level': 'WARNING', 
     }, 
     'scheduling': { 
      'handlers': ['commands', 'console'], 
      'propagate': True, 
      'level': 'DEBUG', 
     }, 
    } 
} 

Was bin ich?

Antwort

18

es scheint, dass das Problem in der Logging-Konfiguration ist: in settings.pyLOGGING:

'handlers': { 
    'mail_admins': { 
     'level': 'ERROR', 
     'filters': ['require_debug_false'], 
     'class': 'django.utils.log.AdminEmailHandler' 
    }, 
} 

Diese Konfiguration zeigt, dass mail_admins Handler Arbeit nur in DEBUG = False, da die Filter verwendet. Wenn Sie mit dem Modus Debug falsch versuchen, oder Sie können diese Prozedur im Debug-Modus aktivieren Sie einfach die Filter Kommentar:

'handlers': { 
    'mail_admins': { 
     'level': 'ERROR', 
     #'filters': ['require_debug_false'], 
     'class': 'django.utils.log.AdminEmailHandler' 
    }, 
} 

Edit:

Ihre Konfiguration erfordert keine mail_admins Handler. Fügen Sie es zum django Logger wie folgt hinzu:

'loggers': { 
    'django': { 
     'handlers': ['file', 'console', 'mail_admins',], 
     'propagate': True, 
     'level': 'DEBUG', 
    }, 
+0

Hallo, danke für die Antwort. Ich habe versucht, diese Zeile zu kommentieren, aber das Verhalten geht weiter. Ich sehe keine Anomalien, die Log-Datei funktioniert einwandfrei und so der Rest, außer der E-Mail in Fehler 500. (Ich erhalte es immer noch in 404, wenn ich MANAGERS hinzufüge) – dnuske

+0

Überprüfen Sie meine Post bearbeiten – Mounir

+0

Es hat funktioniert, können Sie nicht stell dir vor, wie dankbar ich bin, gutes Karma für dich =) – dnuske

Verwandte Themen