API logging that actually helps: a minimal field schema

By: WebGoodPeople, Author

Логи не должны быть “шумом”. Они должны отвечать на вопрос: что произошло, где и почему — за минуты, а не за дни.

Минимальный набор полей


Если вы логируете API‑запросы, начните хотя бы с этого:

  • request_id (корреляция по всем сервисам)
  • method + route (а не только URL строкой)
  • status_code
  • duration_ms (и желательно breakdown: upstream/db/cache)
  • user_id / account_id / session_id (контекст)
  • error_class / error_message (если есть ошибка)
  • upstream_status / upstream_duration_ms (если есть внешние вызовы)

Почему это работает


Потому что вы можете:

  • собрать один трейс запроса по request_id
  • увидеть, где именно время “съедается”
  • отличить “медленную базу” от “медленного кода”
  • быстро найти регресс после релиза

Следующий шаг


Если прод сейчас “чёрный ящик” — начните с логирования и дешбордов.

Разбор кейса: https://webgoodpeople.com/ru/blog/logi-kotorye-spasli-prod-kak-my-podklyuchili-grafana-loki-i-nachali-videt-kazhdyy-api-metod

Tell us about your project

Our offices

  • Russia
    Saint Petersburg, Rizhskaya st. 5, bldg. 1, office 402
    +7 (967) 555-90-32
  • Kazakhstan
    Almaty
    +7 (707) 340-29-12