打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
FastAPI学习-30 项目代码中添加自己的日志内容

前言

前面一篇【FastAPI学习-29 uvicorn 使用 log_config 参数设置 logger 日志格式 】已经学会了配置uvicorn 的日志。
如何在fastapi 项目代码中添加自己的日志呢?

添加日志

创建一个logger实例,名称为”fast”

from fastapi import FastAPIimport logging

logger = logging.getLogger("fast")

app = FastAPI()@app.get("/demo/")async def create_item():
logger.debug("info---------")
logger.info("info---------")
logger.warning("warning---------")
logger.error("error---------") return {"demo": "hello world"}

启动项目访问/demo/地址,会看到warning 和 error的内容,默认情况下输出warning 以上级别的日志。

但是没有添加日志的格式。

配置logger

参考上一篇篇【FastAPI学习-29 uvicorn 使用 log_config 参数设置 logger 日志格式 】,默认loggers配置了3个:uvicorn、uvicorn.error、uvicorn.access

  "loggers": {    "fast": {      "handlers": [        "default"
], "level": "INFO"
}, "uvicorn": { "handlers": [ "default"
], "level": "INFO"
}, "uvicorn.error": { "level": "INFO"
}, "uvicorn.access": { "handlers": [ "access"
], "level": "INFO", "propagate": false
}
}

在里面添加一个自己定义的”fast” 即可, handlers 处理器用uvicorn 默认的格式,日志级别设置INFO。
重新访问就可以看到输出的日志格式与默认格式一样的了。

其它方法

还有个更简便的方法,直接从 uvicorn 导入 logger 实例, 这样就不用配置日志了。

from fastapi import FastAPIfrom uvicorn.server import logger

app = FastAPI()@app.get("/demo/")async def create_item():
logger.debug("info---------")
logger.info("info---------")
logger.warning("warning---------")
logger.error("error---------") return {"demo": "hello world"}

fastapi 里面也有个 logger 实例

from fastapi import logger

对应的源码

import logging

logger = logging.getLogger("fastapi")

logger 的名称是”fastapi”,参考前面自定义的logger,需要在 log_config 参数里面配置,才有日志格式。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python logging 日志
Python日志模块
python的logging模块使用方法
python logging模块:
将不同级别的logging 日志信息写入到不同文件
Python 日志打印之logging.config.dictConfig使用总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服