Source code for graspnetAPI.utils.logger

__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