Код IT
← Каталог

Логирование, мониторинг и наблюдаемость систем — Антипаттерны горячего логирования

Фрагмент из «Логирование, мониторинг и наблюдаемость систем»: Антипаттерны горячего логирования.

python infra-securityencyclopedia8-04-devops-ci-cd-19 embed URL статья в энциклопедии
Python main.py
# Опасный паттерн — полное логирование в горячем пути
@app.middleware("http")
async def verbose_logging_middleware(request: Request, call_next):
    request_body = await request.body()
    logger.info(
        "Входящий запрос",
        method=request.method,
        path=request.url.path,
        headers=dict(request.headers),
        body=request_body.decode("utf-8"),
        client_ip=request.client.host
    )
    
    response = await call_next(request)
    
    logger.info(
        "Исходящий ответ",
        status_code=response.status_code,
        headers=dict(response.headers)
    )
    return response
# Опасный паттерн — полное логирование в горячем пути
@app.middleware("http")
async def verbose_logging_middleware(request: Request, call_next):
    request_body = await request.body()
    logger.info(
        "Входящий запрос",
        method=request.method,
        path=request.url.path,
        headers=dict(request.headers),
        body=request_body.decode("utf-8"),
        client_ip=request.client.host
    )
    
    response = await call_next(request)
    
    logger.info(
        "Исходящий ответ",
        status_code=response.status_code,
        headers=dict(response.headers)
    )
    return response