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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM