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.logs import logger
# 新建用戶
@usersRouter.post("/users/", tags=["users"])
def create_user(user: UserCreate, db: Session = Depends(get_db)):
    """
        - **email**: 用戶的郵箱
        - **password**: 用戶密碼
        """
    logger.info("創建用戶")
    db_crest = get_user_emai(db, user.email)
    user.password = get_password_hash(user.password)
    if not db_crest:
        logger.success("創建用戶成功")
        user=db_create_user(db=db, user=user)
        return reponse(code=0,data={'user':user.email},message="success")
    logger.error("賬號:{}不能重複".format(user.email))
    return  reponse(data={'msg':"賬號不能重複"},code=1,message="error")

在使用的地方去引入,我們去啓動即可。

 

 

  啓動後,默認創建了這個文件

       我們看下請求的輸出

 

 

而且在控制檯的輸出會根據你用的類型不一樣,對應的日誌的顏色也是不一樣的,我們看下文件的中的輸出

 

 

 

        也是按照固定的格式給我們輸出的,還包含了我們是在哪一行輸出的,什麼方法中,方便我們後續的排查問題。

 

代碼存儲https://gitee.com/liwanlei/fastapistuday

文章首發在公衆號,歡迎關注。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章