25.FastAPI日志处理

25.FastAPI日志处理

在软件开发过程中,日志处理是经常使用的,在FastAPI中,可以直接使用python的日志处理logging,但配置相对比较麻烦一点,推荐使用开源日志扩展库loguru

25.1安装loguru

pip install loguru

相关文档: Table of contents — loguru documentation

25.2集成到FastAPI

在FastAPI项目下新建包common,在common包中新建logger.py,其内容如下:

# coding: utf-8
import os
from datetime import datetime
from loguru import logger
​
log_path = '/u01'
if not os.path.exists(log_path): os.mkdir(log_path)
​
log_file = '{0}/fa_25_{1}_log.log'.format(log_path, datetime.now().strftime('%Y-%m-%d'))
​
logger.add(log_file, rotation="12:00", retention="1 days", enqueue=True)

在上面代码中通过logger.add方法创建日志文件。具体创建日志文件的方式可以参考loguru相关文档。

25.3使用logger

在需要使用logger的时候,从common.logger中引入,然后使用logger中提供的info、error等方法输出信息。

代码示例:

# coding: utf-8
from fastapi import FastAPI
from common.logger import logger
​
app = FastAPI()
​
@app.get(path='/')
async def root():
    logger.info('Hello world')
    logger.info('日志测试。')
    return "Hello world"

启动应用并多次执行请求,然后查看日志文件,其内容如下:

2022-02-07 17:42:00.220 | INFO     | main:root:10 - Hello world
2022-02-07 17:42:00.224 | INFO     | main:root:11 - 日志测试。
2022-02-07 17:42:01.004 | INFO     | main:root:10 - Hello world
2022-02-07 17:42:01.008 | INFO     | main:root:11 - 日志测试。
2022-02-07 17:42:01.747 | INFO     | main:root:10 - Hello world
2022-02-07 17:42:01.750 | INFO     | main:root:11 - 日志测试。
2022-02-07 17:42:02.496 | INFO     | main:root:10 - Hello world
2022-02-07 17:42:02.498 | INFO     | main:root:11 - 日志测试。
2022-02-07 17:42:03.175 | INFO     | main:root:10 - Hello world
2022-02-07 17:42:03.179 | INFO     | main:root:11 - 日志测试。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Janeb1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值