2013-06-28 12 views
10

Mam problemy z wysyłaniem raportów o błędach w django (1.5.1).Raport o błędzie z błędami Django nie jest wysyłany

tutaj jest moje ustawienia conf korzystać z gmail

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]'), 
) 

Jeśli dodać MANAGERS = ADMINS potem odbierać e-maile do 404 na ale bez MANAGERS ustawieniu otrzymuję nic.

Utworzyłem błędny URL, więc mogę to przetestować.

Również znalazłem to podobne Q Django emailing on errors, ale mi to nie pomogło.

EDIT: również w config mam DEBUG = False i ten

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', 
     }, 
    } 
} 

Czego mi brakuje?

Odpowiedz

18

wydaje się, że problem jest w konfiguracji rejestrowania: w settings.pyLOGGING:

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

Ten config wskazują, że mail_admins praca obsługi tylko w DEBUG = False ponieważ filtr używany. Jeśli spróbujesz z trybu debugowania fałszywych lub można aktywować ten program obsługi w trybie debugowania tylko skomentować filtry:

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

Edit:

Twoja konfiguracja nie nazywają mail_admins obsługi. Dodaj go do rejestratora django w ten sposób:

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

Cześć, dziękuję za odpowiedź. Próbowałem komentować tę linię, ale zachowanie nadal trwa. Nie widzę żadnych anomalii, plik dziennika działa perfekcyjnie, a reszta, oprócz e-maila z błędem 500. (nadal otrzymuję go w 404, jeśli dodaję MENEDŻERÓW) – dnuske

+0

Sprawdź, czy mój wpis jest edytowany – Mounir

+0

To zadziałało, nie możesz wyobraź sobie, jak jestem wdzięczny, dobra karma dla ciebie =) – dnuske

Powiązane problemy