Выбор ответа Junior Ошибки и логирование обновлено

Что нельзя писать в лог

Вопрос

Какую строку лога в проде писать нельзя?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: { reqId, msg: "login", body: req.body } для формы входа. Тело формы входа содержит пароль.

Варианты ответа

  1. { reqId, userId, route: "/orders", status: 201, durationMs: 48 }
  2. { reqId, msg: "login", body: req.body } для формы входаправильный ответ
  3. { reqId, level: "warn", msg: "retry", attempt: 2 }
  4. { reqId, level: "error", err: { message, stack } }

Разбор

Тело формы входа содержит пароль. Логи читает больше людей и систем, чем базу, их хранят долго и копируют. Пароли, токены, данные карт и лишние персональные данные в лог не пишут, а поля маскируют (redact).

Остальные строки нормальные: идентификаторы, коды, тайминги, стек ошибки.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.