Redirect output of bpy.ops.render.render() to variable
It might have worked, if the bpy.ops.render.render() operator was outputting that information through Python. However, since that code is written in C (blender\source\blender\editors\render\render_internal.c), it doesn't care that you've reassigned sys.out in Python.