def get_logger(obj, log_to_file, log_to_stdout):
"""Get logger for given object.
Removes all previously assigned handlers from the logger.
Parameters
----------
obj : Unknown
Some object
log_to_file: optional, boolean or string (default: False)
Log results to given file, it will be located in the $BL_LOG_PATH
log_to_stdout: optional, boolean (default: False)
Log to standard output
Returns
-------
logger : Logger
Logger object
"""
logger = logging.getLogger(type(obj).__name__)
logger.handlers = [] # Remove all handlers
logger.setLevel(logging.DEBUG)
if log_to_file:
bl_log_path = os.environ.get("BL_LOG_PATH", ".")
log_file_name = "%s/%s" % (bl_log_path, log_to_file)
handler = logging.FileHandler(log_file_name)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
if log_to_stdout:
handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
if (not (log_to_file or log_to_stdout) and
"NullHandler" in logging.__dict__):
handler = logging.NullHandler()
logger.addHandler(handler)
return logger
评论列表
文章目录