我们要搭建日志系统,可以使用loguru,很不错的一个开源日志系统
pip install loguru
我们在common创建log.py,使用方式也很简单
import os import time from loguru import logger # 日志的路径 log_path = os.path.join(os.getcwd(), "logs") if not os.path.exists(log_path): os.mkdir(log_path) # 日志输出格式 log_path_error = os.path.join(log_path, f"{time.strftime('%Y-%m-%d')}_error.log") logger.add(log_path_error, rotation="12:00", retention="5 days", enqueue=True)
使用起来也很简单
from common.log import logger def create_user_method(db: Session, user: UserModel): logger.info("创建用户开始了") db_user = db.query(User).filter(User.email == user.email).first() if db_user: logger.info(f"用户:{user.email}已经存在了!") return response(code=1, message="error", data="this user already exists") from routers.users import get_password_hash hashed_password = get_password_hash(user.password) init_user = User(email=user.email, hashed_password=hashed_password) db.add(init_user) db.commit() db.refresh(init_user) logger.info("创建用户成功了") return resp_200(data={"user": init_user.email})
启动后,如果logs文件夹不存在会自动创建该文件夹
看下请求的输出:(控制台中日志输出的颜色根据你使用的类型不同,对应的日志颜色也不同)
再看下文件中的输出:
也是按照固定的格式给我们输出的,还包含了我们是在哪一行输出的,什么方法中,方便我们后续的排查问题。