FastAPI 学习之路(六十)打造系统的日志输出
我们要搭建日志系统,可以使用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文件夹不存在会自动创建该文件夹
看下请求的输出:(控制台中日志输出的颜色根据你使用的类型不同,对应的日志颜色也不同)
再看下文件中的输出:
也是按照固定的格式给我们输出的,还包含了我们是在哪一行输出的,什么方法中,方便我们后续的排查问题。
原文地址:https://blog.csdn.net/myli_binbin/article/details/140524323
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!