Acabo de instalar django-sentry, y capta excepciones muy bien. Sin embargo, las llamadas a logger.warning y logger.error no se guardan en Sentry por algún motivo. aplicacióndjango-sentry no registra advertencias, errores, etc.
Sentry:
import logging
from sentry.client.handlers import SentryHandler
logger = logging.getLogger()
# ensure we havent already registered the handler
if SentryHandler not in map(lambda x: x.__class__, logger.handlers):
logger.addHandler(SentryHandler())
# Add StreamHandler to sentry's default so you can catch missed exceptions
logger = logging.getLogger('sentry.errors')
logger.propagate = False
logger.addHandler(logging.StreamHandler())
registrador de llamada:
logger.warning("Category is not an integer", exc_info=sys.exc_info(), extra={'url': request.build_absolute_uri()})
¿Alguna idea? Gracias!
¿Alguna actualización sobre esto? Tengo un problema similar, excepto que el registro de Sentry funciona bien en mi servidor de desarrollo pero no en mi servidor de producción. Mi producción tiene exactamente los mismos síntomas enumerados anteriormente. –
¿Dónde obtiene el registrador para guardar la advertencia y cuando se agrega el controlador Sentry se ejecuta? Porque no se puede ejecutar en producción si lo usa en manage.py, por ejemplo. – Alerion
Agrego el registrador Sentry justo antes de registrar la advertencia, así que estoy seguro de que se está ejecutando. Sin embargo, no sé por qué funcionaría en mi servidor de desarrollo y no en mi servidor de producción. –