def _get_logger_for_contextmanager(log):
"""Get the canonical logger from a context manager.
Parameters
----------
log : Logger or None
The explicit logger passed to the context manager.
Returns
-------
log : Logger
The logger to use in the context manager.
"""
if log is not None:
return log
# We need to walk up through the context manager, then through
# @contextmanager and finally into the top level calling frame.
return _logger_for_frame(_getframe(3))
评论列表
文章目录