I have configured Raven 2.0.2 on Django 1.4 using following logging configuration:
'handlers': {
...
'sentry': {
'level':'INFO',
'class': 'raven.contrib.django.handlers.SentryHandler',
},
},
'loggers': {
'' : {
'level': 'INFO',
'handlers': ['sentry'],
},
'django' : {
'handlers': ['console-error', 'sentry'],
'propagate': False,
'level': 'DEBUG'
},
'django.request': {
'handlers': [],
'level': 'ERROR',
'propagate': True,
},
}
Logging for "django" logger works well. For the root level logger, if I try to log an ERROR level message, it goes through. However when I try to log an INFO level message, I get the following error:
Top level Sentry exception caught - failed creating log record
Configuring Raven for host: http://1e437dc0d8e347f2b655246d25aa3544:[email protected]:9000:/3
Traceback (most recent call last):
File "/home/dev/env/project/lib/python2.6/site-packages/raven/handlers/logging.py", line 59, in emit
return self._emit(record)
File "/home/dev/env/project/lib/python2.6/site-packages/raven/contrib/django/handlers.py", line 32, in _emit
return super(SentryHandler, self)._emit(record, request=request)
File "/home/dev/env/project/lib/python2.6/site-packages/raven/handlers/logging.py", line 126, in _emit
return self.client.capture('Message', message=record.msg, params=record.args,
File "/home/dev/env/project/lib/python2.6/site-packages/raven/contrib/django/models.py", line 49, in <lambda>
__getattr__ = lambda x, o: getattr(get_client(), o)
File "/home/dev/env/project/lib/python2.6/site-packages/raven/contrib/django/models.py", line 133, in get_client
instance = getattr(__import__(module, {}, {}, class_name), class_name)(**options)
File "/home/dev/env/project/lib/python2.6/site-packages/raven/base.py", line 152, in __init__
self.logger.info(msg)
File "/usr/lib/python2.6/logging/__init__.py", line 1056, in info
self._log(INFO, msg, args, **kwargs)
File "/usr/lib/python2.6/logging/__init__.py", line 1172, in _log
record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra)
File "/usr/lib/python2.6/logging/__init__.py", line 1147, in makeRecord
rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
File "/usr/lib/python2.6/logging/__init__.py", line 252, in __init__
self.levelname = getLevelName(level)
RuntimeError: maximum recursion depth exceeded
What am I doing wrong?
I had this problem when I had an newer version of raven pointing to a older version of sentry.
Make sure your raven is the right raven for the sentry instance you are running.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With