def create_logger(logger_type: str = LoggerTypes.MAIN, runid: float = 0, configs={}, to_console: bool = True, filename_args = '') -> 'Logger':
logger = logging.getLogger(logger_type)
# create file
path, filename = Logger.__create_path_and_filename_by_type(logger_type, runid, configs, filename_args)
if len(logger.handlers) == 0:
# create formatter
if logger_type == LoggerTypes.MAIN:
formatter = logging.Formatter('%(asctime)s - %(message)s')
else:
formatter = logging.Formatter('%(message)s')
fileHandler = logging.FileHandler(path + filename)
fileHandler.setFormatter(formatter)
logger.addHandler(fileHandler)
# if to_console:
# consoleHandler = logging.StreamHandler()
# consoleHandler.setFormatter(formatter)
# logger.addHandler(consoleHandler)
logger.setLevel(logging.INFO)
# logger.errors = []
log_obj = Logger()
log_obj.logger = logger
log_obj.start_time = datetime.now()
log_obj.last_start_time = datetime.now()
log_obj.errors = [] # logger.errors
log_obj.to_console = to_console
if 'log_to_console' in configs:
log_obj.to_console = configs['log_to_console']
log_obj.filename = filename
log_obj.config = configs
return log_obj
评论列表
文章目录