2017-04-26 67 views
0

我對django如何處理日誌記錄感到困惑。我有我的設置,該設置記錄儀:瞭解django的日誌記錄

日誌記錄設置

LOGGING = { 
    ... 
    'handlers': { 
     'console': { 
      'class': 'logging.StreamHandler', 
      'formatter': 'verbose', 
     }, 
     'file': { 
      'level': 'DEBUG', 
      'class': 'logging.handlers.RotatingFileHandler', 
      'filename': LOG_BASE_DIRECTORY + '/django.log', 
      'maxBytes': LOGFILE_SIZE, 
      'backupCount': LOGFILE_COUNT, 
      'formatter': 'verbose' 
     }, 
     'mail_admins': { 
      'level': 'ERROR', 
      #'filters': ['require_debug_false'], 
      'class': 'django.utils.log.AdminEmailHandler' 
     } 
    }, 
    'loggers': { 
     'django': { 
      'handlers': ['file','mail_admins'], 
      'level': 'INFO', 
      'propagate': True, 
     }, 
     'app1': { 
      'handlers': ['file','mail_admins'], 
      'level': 'DEBUG', 
      'propagate': True, 
     }, 

     ... 
    }, 
} 

正如人們所看到的,我有Django和應用程序日誌,文件和 mail_admins定義2個處理器。文件的日誌級別是調試。因此,我假設所有調試過的日誌都應該使用這個處理程序。 mail_admins的級別是錯誤的。但我所看到的問題是,如果在電子郵件處理程序運行時發生500個錯誤,並且發送郵件時沒有記錄該文件。

回答

-2

對於記錄錯誤,您需要將它們記錄在代碼中。這樣

import logging 

try: 
    # your code here 
except Exception as e: 
    logging.getLogger("logger_name").error(repr(e)) 

一些參考this official doc link用於相同或this article視頻和工作github上的代碼。