zoukankan      html  css  js  c++  java
  • 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

    文章首发在公众号,欢迎关注。

  • 相关阅读:
    Android模拟器访问本地的localhost失败及解决方案
    CSS3 @font-face使用实例
    Web字体库下载及转换工具
    Web中常用字体介绍(转)
    CSS3 @font-face详细用法(转)
    HTML5 Canvas Text文本居中实例
    HTML5 Canvas Text实例1
    Html5 Canvas Text
    Wpf Hyperlink超链接控件使用
    MVC使用Exception过滤器自定义处理Action的的异常
  • 原文地址:https://www.cnblogs.com/leiziv5/p/15416960.html
Copyright © 2011-2022 走看看