【问题标题】:Sentry django configuration - loggerSentry django 配置 - 记录器
【发布时间】:2016-12-09 01:24:30
【问题描述】:

我正在尝试使用简单的日志记录并希望将错误/异常发送到 Sentry。

我根据文档配置了哨兵并在我的开发人员上成功运行了测试(python manage.py raven test)

我将 Sentry documentation 中的 Logging 配置添加到 Django 设置中

当我将这段代码放在我的视图中时,它根本不起作用

import logging
logger = logging.getLogger(__name__)
logger.error('There was an error, with a stacktrace!', extra={
    'stack': True,
})

也许我错过了什么

感谢您的帮助

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'root': {
        'level': 'WARNING',
        'handlers': ['sentry'],
    },
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s '
                      '%(process)d %(thread)d %(message)s'
        },
    },
    'handlers': {
        'sentry': {
            'level': 'ERROR', # 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': 'DEBUG',
            'handlers': ['console'],
            'propagate': False,
        },
        'sentry.errors': {
            'level': 'DEBUG',
            'handlers': ['console'],
            'propagate': False,
        },
    },
}

【问题讨论】:

  • LOGGING 显示您的settings.py 配置。你是什​​么意思它根本不起作用?请先尝试将您的记录器写入文件 - 请参阅docs.djangoproject.com/ja/1.9/topics/logging/#examples。记录器是否写入文件但不发送到 Sentry?
  • 我在上面添加了 LOGGING 配置,是的,我可以将日志写入文件但不能发送到哨兵。另一件事,如果我提出错误,那么它将发送到哨兵。

标签: python django logging sentry


【解决方案1】:

与 Django 的集成需要特殊的 Raven Django 应用程序和 settings.py 中的 RAVEN_CONFIG:

INSTALLED_APPS = (
    'raven.contrib.django.raven_compat',
)

RAVEN_CONFIG = {
    'dsn': 'https://<key>:<secret>@sentry.io/<project>',
}

你设置好了吗?

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2015-12-07
    • 2014-03-18
    • 2011-08-10
    • 1970-01-01
    • 2013-09-11
    • 2020-10-01
    • 1970-01-01
    • 2012-01-15
    相关资源
    最近更新 更多