1. Configure the root logger
Write code Easy ✓ CompletedWrite configure(stream, level=logging.INFO) that configures the root logger with logging.basicConfig so it writes to stream, uses the level given, and formats lines as %(levelname)s:%(name)s:%(message)s. Use force=True so calling it twice works.
import io
import logging
def configure(stream, level=logging.INFO):
# call logging.basicConfig with level, format, stream and force=True
pass
out = io.StringIO()
configure(out)
logging.getLogger("demo").info("hello")
print(out.getvalue().strip())
logging.basicConfig(level=level, format="%(levelname)s:%(name)s:%(message)s", stream=stream, force=True).import io
import logging
def configure(stream, level=logging.INFO):
logging.basicConfig(level=level, format="%(levelname)s:%(name)s:%(message)s",
stream=stream, force=True)
out = io.StringIO()
configure(out)
logging.getLogger("demo").info("hello")
print(out.getvalue().strip())