def test_async_basic(): ctx = get_context() ctx.enable_async() log = Logger('async_basic') with log.critical('test', reraise=False) as act: log.comment('i got a bad feeling about this') act.warn('here it comes') 1 / 0 log.flush() ctx.disable_async() return
def test_exception(): log = Logger('test_exc_logger') exc_list = [] class ExcSink(object): def on_exception(self, event, etype, eobj, etb): exc_list.append(event) exc_sink = ExcSink() log.add_sink(exc_sink) try: with log.critical('raise_act'): raise RuntimeError('whooops') except RuntimeError: pass assert len(exc_list) == 1 assert exc_list[0].exc_info.exc_type == 'RuntimeError'