def test_message_event(self): event_id = store('MessageEvent', 'foo') event = Event.objects.get(event_id) self.assertEquals(event.type, 'sentry.events.MessageEvent') self.assertEquals(event.time_spent, 0)
def emit(self, record): from sentry.events import store # Avoid typical config issues by overriding loggers behavior if record.name == 'sentry.errors': print >> sys.stderr, "Recursive log message sent to SentryHandler" print >> sys.stderr, record.message return kwargs = dict( message=record.message, level=record.level, logger=record.channel, data=record.extra, ) client = get_client() if record.exc_info: return store('MessageEvent', exc_inf=record.exc_info, **kwargs) return store('MessageEvent', **kwargs)
def test_exception_event(self): try: raise ValueError('foo bar') except: pass # ExceptionEvent pulls in sys.exc_info() # by default event_id = store('ExceptionEvent') event = Event.objects.get(event_id) self.assertEquals(event.type, 'sentry.events.ExceptionEvent') self.assertEquals(event.time_spent, 0) data = event.data self.assertEquals(data['exc_value'], 'foo bar') self.assertEquals(data['exc_type'], 'ValueError')
def handle_exception(self, exc_info, environ): from sentry.events import store event_id = store('ExceptionEvent', exc_info) return event_id