Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про FastAPI: fast api, logging, http, request

Как логировать сырые HTTP-запросы и ответы в FastAPI?

Вопрос проверяет умение логировать запросы и ответы для мониторинга и отладки.

Короткий ответ

Для логирования HTTP-запросов и ответов в FastAPI можно использовать пользовательский middleware, который перехватывает данные запроса и ответа.

Длинный ответ

Логирование в FastAPI полезно для мониторинга производительности и отладки. Для реализации логирования запросов и ответов используется middleware. В middleware можно перехватить запрос, записать его данные в лог, а затем сделать то же самое с ответом

Пример реализации:

from fastapi import FastAPI, Request
import logging

app = FastAPI()

logging.basicConfig(level=logging.INFO)

@app.middleware("http")
async def log_requests(request: Request, call_next):
    	logging.info(f"Request: {request.method} {request.url}")
    	response = await call_next(request)
    	logging.info(f"Response: {response.status_code}")
    	return response

Рекомендации:

  • Используйте специализированные библиотеки, такие как starlette-context, для сохранения и логирования контекста запросов.

  • Убедитесь, что в логах не содержатся чувствительные данные, чтобы соответствовать стандартам безопасности.

Когда использовать:

  • Для мониторинга API, анализа производительности или выявления ошибок.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • FastAPI

    FastAPI

Ключевые слова

#fast api

#logging

#http

#request

Подпишись на Python Developer в телеграм