Что такое логи
Что проверяют
Умеете ли вы пользоваться логами в работе: локализовать дефект до заведения тикета и отличать «упало» от «упало вот здесь и вот почему». Тестировщик, который приносит в баг точное время, идентификатор запроса и нужный фрагмент, экономит разработчику полдня.
Как отвечать
Логи это поток записей о событиях в системе. Полезная запись содержит время (обычно в UTC), уровень, сообщение и контекст: идентификатор запроса и пользователя, версию сборки, окружение.
Уровни по возрастанию серьёзности: TRACE и DEBUG для подробностей разработки, INFO для значимых шагов, WARN для того, что обошлось, ERROR для несработавшей операции, FATAL для остановки сервиса. Уровень задаёт, что вообще попадёт в вывод на стенде и в проде.
Где смотреть: на сервере обычно структурированные записи в общем хранилище с поиском по полям; на клиенте это системный журнал устройства или консоль браузера плюс вкладка сетевых запросов. Сквозной идентификатор трассировки связывает запись клиента с цепочкой вызовов между сервисами, без него в микросервисах искать бессмысленно.
Уместно показать рамку шире: логи это одна из опор наблюдаемости рядом с метриками и трассировками. Логи отвечают на вопрос, что именно случилось в конкретном обращении, метрики отвечают, сколько и как часто.
Где спотыкаются
Прикладывают к дефекту весь файл целиком или фотографию экрана с консолью. Нужен фрагмент вокруг события с временем и идентификатором запроса плюс шаги воспроизведения, остальное только мешает разбору.
Считают любую строку с ошибкой дефектом, а чистый лог доказательством, что всё хорошо. Часть ошибок ожидаема (повтор запроса, недоступность внешнего сервиса), и наоборот, тихо проглоченное событие опаснее громкого исключения.
Не заводят дефекты на сами логи. Пароль, токен или номер карты в открытом виде это находка по безопасности, а запись об ошибке без контекста тоже дефект: по ней инцидент в проде разобрать невозможно.