def full_cycle(self, **kw): params = dict(type='stream', name='stdout') params.update(kw) with LogCapture(): with OutputCapture(separate=True) as output: plugin = Plugin(**Plugin.schema(params)) logger.info('before') plugin.start() logger.info('during-info') logger.error('during-error') plugin.finish() logger.info('after') return output