# 记录日志的模块 from loguru import logger import pathlib import sys import os # 终端日志输出格式 stdout_fmt = '{time:HH:mm:ss,SSS} ' \ '[{level: <5}] ' \ '{module}:{line} - ' \ '{message}' # 日志文件记录格式 logfile_fmt = '{time:YYYY-MM-DD HH:mm:ss,SSS} ' \ '[{level: <5}] ' \ '{process.name}({process.id}):' \ '{thread.name: <10}({thread.id: <5}) | ' \ '{module}.{function}:' \ '{line} - {message}' log_path = pathlib.Path(__file__).parent.resolve().joinpath('logs') if not log_path.is_dir(): log_path.mkdir() log_path = log_path.joinpath('web.log').resolve() logger.remove() logger.level(name='TRACE', no=5, color='', icon='✏️') logger.level(name='DEBUG', no=10, color='', icon='🐞 ') logger.level(name='INFOR', no=20, color='', icon='ℹ️') logger.level(name='ALERT', no=30, color='', icon='⚠️') logger.level(name='ERROR', no=40, color='', icon='❌️') logger.level(name='FATAL', no=50, color='', icon='☠️') if not os.environ.get('PYTHONIOENCODING'): # 设置编码 os.environ['PYTHONIOENCODING'] = 'utf-8' logger.add(sys.stderr, level='INFOR', format=stdout_fmt, enqueue=True) logger.add(log_path, level='DEBUG', format=logfile_fmt, enqueue=True, encoding='utf-8')