Как отлаживать, используя логи
Логирование - это практика написания программ таким образом, что они выдают последовательность информативных записей, называемых логом. Вывод в консоль - это создание небольшого, обычно временного лога. Начинающие программисты должны понимать и использовать логи, поскольку их знания в программировании ограничены. Системные архитекторы должны понимать и использовать логи, потому что они работают со сложными системами. Количество информации, которую выдает лог, должно быть настраиваемым, желательно во время выполнения программы. В общем случае, логирование имеет три основных преимущества:
Логи могут дать полезную информацию о багах, которые трудно воспроизвести (например, такие, которые воспроизводятся на боевом окружении, но не на тестовом)
Логи могут давать статистику и данные о производительности, такие как время между выполнением команд
Если логи можно настраивать, то они помогают собрать общую информацию для устранения непредвиденных специфических проблем без необходимости модифицировать или перезапускать код
Количество выводимой в лог информации это всегда компромисс между информативностью и краткостью. Избыток информации сделает лог тяжелым и вызовет слепоту прокрутки, усложняя поиск нужного. Недостаток информации может просто сделать лог бесполезным. По этой причине полезно делать логи настраиваемыми. Как правило, каждая запись в логе отображает свое место в исходном коде, исполняющий ее поток, если он есть, точное время исполнения и, обычно, дополнительную информацию вроде значений переменных, объем свободной памяти, число объектов с данными и так далее. Эти записи покрывают весь исходный код, особенно основные функциональные узлы и рискованный код. Записи можно распределять по уровням, и настраивать в конфигурации вывод только записей определенного уровня. Лог следует проектировать таким образом, чтобы его записи помогали решать проблемы программы, которые вы предвидите. Предусматривайте и проблему измерения производительности.
Если у вас есть постоянный лог, вывод в консоль можно выполнить в рамках записей лога, и некоторые из отладочных сообщений стоит перманентно включить в систему логирования.
Следующее: Как определять проблемы производительности
Last updated
Was this helpful?