我们要搭建日志系统,可以使用loguru,很不错的一个开源日志系统
pip install loguru
我们在common创建log.py,使用方式也很简单
import os
import timefrom 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 loggerdef 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_hashhashed_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文件夹不存在会自动创建该文件夹
看下请求的输出:(控制台中日志输出的颜色根据你使用的类型不同,对应的日志颜色也不同)
再看下文件中的输出:
也是按照固定的格式给我们输出的,还包含了我们是在哪一行输出的,什么方法中,方便我们后续的排查问题。