30 lines
853 B
Python
30 lines
853 B
Python
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')
|