import os import logging log_path = os.path.join(os.path.dirname(__file__), 'log') simple_fmt = logging.Formatter('[%(asctime)s-%(levelname)s] %(message)s') def logger_settings(name, file_log=True, level=0): logger = logging.getLogger(name) if file_log: file_log = logging.FileHandler(os.path.join(log_path, f'{name}.log'), encoding='utf-8') file_log.setFormatter(simple_fmt) file_log.setLevel(level) logger.addHandler(file_log) logger.setLevel(level) return logger def record_full_log(logger, err): trace = err.__traceback__ while trace: file = trace.tb_frame.f_code.co_filename line = trace.tb_lineno trace = trace.tb_next logger.error(f' file:{file}, line:{line}') logger.error(f' error: {str(err)}') error_logger = logger_settings('error')