def get_logger(name=None, level=None, stream=DEFAULT_STREAM,
clobber_root_handler=True, logger_factory=None,
wrapper_class=None):
"""Configure and return a logger with structlog and stdlib."""
_configure_logger(
logger_factory=logger_factory,
wrapper_class=wrapper_class)
log = structlog.get_logger(name)
root_logger = logging.root
if log == root_logger:
if not _has_streamhandler(root_logger, level=level, stream=stream):
stream_handler = logging.StreamHandler(stream)
stream_handler.setLevel(level)
stream_handler.setFormatter(logging.Formatter(fmt=LOG_FORMAT))
root_logger.addHandler(stream_handler)
else:
if clobber_root_handler:
for handler in root_logger.handlers:
handler.setFormatter(logging.Formatter(fmt=LOG_FORMAT))
if level:
log.setLevel(level)
return log
评论列表
文章目录