0

我对 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 个错误,则文件上没有日志记录。

4

1 回答 1

-2

对于记录错误,您需要将它们记录在代码中。像这样的东西

import logging

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

请参阅此官方文档链接以获取相同或本文以获取视频和工作 github 代码。

于 2017-04-26T09:42:02.357 回答