def pytest_configure(config):
if config.option.logging_level is None:
logging_level = logging.INFO
else:
logging_level = config.option.logging_level
if logging_level not in logging_level_map:
raise PytestConfigurationError(
'{} not a recognised logging level'.format(logging_level)
)
logging_level = logging_level_map[logging_level]
sh = colorlog.StreamHandler()
sh.setLevel(logging_level)
formatter = colorlog.ColoredFormatter(
"%(white)s%(name)s %(reset)s %(log_color)s%"
"(levelname)-8s%(reset)s %(blue)s%(message)s",
datefmt=None,
reset=True,
log_colors={
'DEBUG': 'cyan',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red,bg_white',
},
secondary_log_colors={},
style='%'
)
sh.setFormatter(formatter)
root = logging.getLogger()
# remove the default streamhandler
handler = next(
(
handler for handler in root.handlers if
isinstance(handler, logging.StreamHandler)
), None
)
if handler:
index = root.handlers.index(handler)
root.handlers.pop(index)
# and add our fancy coloured one
root.addHandler(sh)
if config.option.file_logging is True:
add_file_logging()
评论列表
文章目录