【问题标题】:Logger results not appearing in unittest output with Django记录器结果没有出现在 Django 的 unittest 输出中
【发布时间】:2018-12-23 10:30:56
【问题描述】:

我很难在 django 测试运行器的交叉点(即 from django.test import TestCase 和日志记录解决方案)获得所需的行为。

我的记录器已经设置好并可以在其他领域使用类似的东西

import logging
logger = logging.getLogger(__name__)
logger.warning("duck!")

所以当运行 Django 应用程序时,我会看到我所期望的消息和元数据;但是,问题是这些日志行没有出现在我在运行单元测试时知道的任何位置,即django-admin run test

我希望能够运行测试并查看日志输出,最好是在 STDOUT 中,并且大概设置输出日志级别,以便测试显示这些...

我的设置可见。日志记录:

   LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'root': {
        'level': 'ERROR',
        'handlers': ['sentry', 'console'],
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s '
                      '%(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'sentry': {
            'level': 'WARNING', # To capture more than ERROR, change to WARNING, INFO, etc.
            'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
            'tags': {'custom-tag': 'x'},
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'verbose'
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'ERROR',
            'handlers': ['console'],
            'propagate': False,
        },
        'raven': {
            'level': 'WARNING',
            'handlers': ['console'],
            'propagate': False,
        },
        'sentry.errors': {
            'level': 'DEBUG',
            'handlers': ['console'],
            'propagate': False,
        },
        'celery': {
            'handlers': ['console'],
            'level': 'WARNING',
            'proagate': True,
        },
    },
}

【问题讨论】:

  • 它是相关的,但没有一个答案非常接近问题。一方面,我没有使用鼻子。也许更重要的是,我的问题是 printpprint 语句确实可以很好地打印到 STDOUT。我不知道该怎么做是导致logger.loglevel(msg) 语句也打印在那里

标签: python django logging django-unittest


【解决方案1】:

尝试将您的root 级别更改为WARNING

    'root': {
        'level': 'WARNING',
        'handlers': ['sentry', 'console'],
    },

【讨论】:

    猜你喜欢
    • 2012-10-29
    • 2020-04-19
    • 1970-01-01
    • 2013-07-13
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多