如何从django-admin.py命令中查看调试日志



我有一个执行django-admin.py命令的cron作业。有时这个命令会引发一个异常,我收到一封关于它的电子邮件。

电子邮件只包含异常的回溯。但我还想看看在那次运行中通过log.debug(...)产生的所有东西。这可能吗?

这是我在开发中使用的日志记录(我试图复制它)——所以在这种情况下,我想看到console中的调试日志,因为我不给自己发电子邮件。

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format' : ("[%(asctime)s] - %(levelname)s %(module)s.%(funcName)s:"
                        "%(lineno)s (%(name)s) %(message)s"),
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
        'colored': {
            'format' : ("[%(asctime)s] -33[1;35m %(levelname)s33[0m "
                        "%(name)s %(funcName)s:"
                        "%(lineno)s 33[1m%(message)s33[0m"),
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'logfile': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': "logfile",
            'maxBytes': 50000,
            'backupCount': 2,
            'formatter': 'standard',
        },
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'colored'
        },
    },
    'loggers': {
        '': {
            'handlers': ['console', 'logfile'],
            'level': 'DEBUG',
            'propagate': True
        },
    }
}

必须更改我的控制台日志级别以允许'DEBUG'。最终删除了'处理程序'上的级别覆盖,并只指定它们每个记录器。

为管理命令添加了特定的日志记录器,而不仅仅是使用一个捕获所有日志记录器。

最新更新