часовой, ворон и джанго сельдерей - PullRequest
8 голосов
/ 21 марта 2012

Теперь, когда django-sentry стал автономным сервером (и это фантастика), я пытаюсь портировать свои приложения, чтобы использовать его.

Я установил автономный сервер, настроил приложение django для входа в систему с помощью словаря ведения журнала django 1.3 conf согласно документам raven .Кажется, я не могу получить какие-либо задачи сельдерея для входа на сервер (хотя они выводятся на консоль).

Я не совсем уверен, что мне следует делать?Я включил raven.contrib.django.celery в мой INSTALLED_APPS.

Неопознанные исключения отправляются на часовой, как и пользовательское сообщение регистрации через:

import logging
logger = logging.getLogger(__name__)
...
logger.info("Logged Message")    

Ответы [ 2 ]

10 голосов
/ 22 марта 2012

Вы должны добавить это:

'celery': {
        'level': 'WARNING',
        'handlers': ['sentry'],
        'propagate': False,
    },

На ваш loggers в переменной LOGGING в ваших настройках.

что-то вроде:

# the site admins on every HTTP 500 error.
# See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration.
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': 'DEBUG',
            'class': 'raven.contrib.django.handlers.SentryHandler',
        },
        '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,
        },
        'celery': {
            'level': 'WARNING',
            'handlers': ['sentry'],
            'propagate': False,
        },
    },
}
4 голосов
/ 04 декабря 2014

Начиная с Raven 5+, вам может понадобиться добавить параметр в ваш проект Django, как описано в Регистрация Sentry в Django / Celery перестала работать

CELERYD_HIJACK_ROOT_LOGGER = False

...