Логи - это очень крутой и важный инструмент в руках тестировщика.
С помощью логов мы можем не только увидеть, что происходит с нашей системой, но и локализировать ошибку, тем самым сэкономив время разработчику на ее поиск.
Но как же правильно читать логи?
Все логи имеют общепринятую единую структуру:
•Дата и время: 2023-05-18 10:23:45 — указывает точное время, когда произошла ошибка
•Уровень лога: [ERROR] — указывает на уровень ошибки
•Контекст: [Server] — указывает на компонент или модуль системы, в котором произошла ошибка
•Сообщение об ошибке: Exception occurred while processing request — описание самой ошибки
•Стек вызовов: Последующие строки показывают стек вызовов и указывают на классы и методы, в которых произошла ошибка. В данном примере указывается, что ошибка возникла в методе handleRequest класса MyController (строка 32), затем в методе processRequest класса Server (строка 87) и так далее.
Таким образом, по времени, мы всегда можем быстро найти тот момент, в котором вы поймали свой баг, и посмотреть - какая именно ошибка или действия привели к сбою системы.
А теперь про уровни логирования:
Логи — это записи событий и сообщений, создаваемые программой или системой во время ее работы. Они представляют собой источник информации о том, что происходит внутри приложения в определённый момент времени.
Логи содержат различные данные, такие как сообщения об ошибках, предупреждения, информацию о выполнении определённых действий и многое другое
Уровни логирования бывают:
•FATAL: является наивысшим уровнем критичности логов и указывает на самые критические ошибки и проблемы, которые могут привести к немедленному завершению программы или системы. Логи с уровнем FATAL обычно означают серьезные сбои, которые требуют немедленного вмешательства и исправления.
•ERROR: этот уровень используется для записи ошибок и проблем, которые могут привести к некорректной работе приложения. Логи с уровнем ERROR указывают на проблемы, которые требуют вмешательства и исправления.
•WARN: уровень WARN указывает на предупреждения и потенциальные проблемы, которые не являются критическими ошибками. Логи с уровнем WARN могут включать сообщения о неправильном использовании приложения, некорректных данных или других ситуациях, требующих внимания.
•INFO: этот уровень предоставляет информацию о ходе работы приложения и важных событиях. Логи с уровнем INFO содержат сообщения, которые помогают отслеживать основные операции и состояние приложения. Например, они могут сообщать о начале и окончании определенных операций, загрузке ресурсов, отправке и получении запросов, изменении состояния приложения и других событиях, которые могут быть полезны для отслеживания хода выполнения программы.
•DEBUG: содержат подробности о ходе выполнения приложения, значимые переменные и другие данные, которые могут быть полезными при обнаружении и исправлении ошибок.
•TRACE: это наиболее подробный уровень логирования. Логи с уровнем TRACE содержат очень подробную информацию о состоянии приложения, включая значения переменных, шаги выполнения и другие детали. Они обычно используются во время отладки и разработки для более глубокого анализа приложения.