优秀的编程知识分享平台

网站首页 > 技术文章 正文

25.FastAPI日志处理 fastdfs 日志

nanyue 2024-12-29 04:53:37 技术文章 3 ℃

25.FastAPI日志处理

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

25.1安装loguru

pip install loguru

相关文档: http://loguru.readthedocs.io/

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 - 日志测试。



最近发表
标签列表