def test_tagged(self): from logbook.more import TaggingLogger, TaggingHandler stream = StringIO() second_handler = logbook.StreamHandler(stream) logger = TaggingLogger('name', ['cmd']) handler = TaggingHandler(dict( info = logbook.default_handler, cmd = second_handler, both = [logbook.default_handler, second_handler], )) handler.bubble = False with handler: with capture_stderr() as captured: logger.log('info', 'info message') logger.log('both', 'all message') logger.cmd('cmd message') stderr = captured.getvalue() self.assert_('info message' in stderr) self.assert_('all message' in stderr) self.assert_('cmd message' not in stderr) stringio = stream.getvalue() self.assert_('info message' not in stringio) self.assert_('all message' in stringio) self.assert_('cmd message' in stringio)
def test_tagged(default_handler): from logbook.more import TaggingLogger, TaggingHandler stream = StringIO() second_handler = logbook.StreamHandler(stream) logger = TaggingLogger('name', ['cmd']) handler = TaggingHandler(dict( info=default_handler, cmd=second_handler, both=[default_handler, second_handler], )) handler.bubble = False with handler: with capturing_stderr_context() as captured: logger.log('info', 'info message') logger.log('both', 'all message') logger.cmd('cmd message') stderr = captured.getvalue() assert 'info message' in stderr assert 'all message' in stderr assert 'cmd message' not in stderr stringio = stream.getvalue() assert 'info message' not in stringio assert 'all message' in stringio assert 'cmd message' in stringio
def test_tagged(self): from logbook.more import TaggingLogger, TaggingHandler stream = StringIO() second_handler = logbook.StreamHandler(stream) logger = TaggingLogger('name', ['cmd']) handler = TaggingHandler(dict( info=logbook.default_handler, cmd=second_handler, both=[logbook.default_handler, second_handler], )) handler.bubble = False handler.push_thread() try: captured = capture_stderr.start() try: logger.log('info', 'info message') logger.log('both', 'all message') logger.cmd('cmd message') finally: capture_stderr.end() finally: handler.pop_thread() stderr = captured.getvalue() self.assert_('info message' in stderr) self.assert_('all message' in stderr) self.assert_('cmd message' not in stderr) stringio = stream.getvalue() self.assert_('info message' not in stringio) self.assert_('all message' in stringio) self.assert_('cmd message' in stringio)