__author__ = 'mhgou'
import logging
import datetime
[docs]def get_logger(logger_name="root", log_level=logging.INFO, file_log_level=logging.INFO, log_file=None):
"""get the logger instance for GraspNet api.
Args:
logger_name(str): the name of the logger.
log_level(int): the level of stream logger.
file_log_level(int): the level of the file logger.
log_file(str): the log file name without postfix. None for no file.
Returns:
logging.logger: the logger instance.
"""
logger = logging.getLogger(logger_name)
logger.setLevel(min(log_level, file_log_level))
logger.handlers = []
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(logging.Formatter("[%(asctime)s][{}]: %(message)s".format(logger_name)))
stream_handler.setLevel(log_level)
logger.addHandler(stream_handler)
if log_file is not None:
time_str = datetime.datatime.now().strftime("%Y_%m_%d_%H_%M_%S")
file_handler = logging.FileHandler("{}-{}.txt".format(log_file, time_str), 'w')
file_handler.setFormatter(logging.Formatter("[%(asctime)s][{}]: %(message)s".format(logger_name)))
file_handler.setLevel(file_log_level)
logger.addHandler(file_handler)
return logger