Сегодня приложения быстро растут, становясь сложными и трудными для тестирования и отладки. Большинство приложений времени работают на удаленном сайте, оставляя разработчику мало шансов контролировать их выполнение и выяснить причины их неудачи, как только это должно произойти. Более того, даже локальное отладка может стать проблематичным, если поведение приложения сильно зависит от асинхронных побочных событий, таких как обратную связь устройства или другая деятельность процесса.
Вот где лесозаготовки могут помочь. Приложение хранит всю необходимую информацию о его выполнении в журнал, и когда что-то идет не так, эта информация может быть использована для анализа поведения программы и внесения необходимых исправлений. Существуют и другие очень полезные виды лесозаготовок, такие как сбор статистической информации и освещение событий (т.е. указание на то, что произошла определенная ситуация или что приложение испытывает некоторые проблемы). Эти задачи оказались жизненно важными для многих промышленных применений реального мира.
Эта библиотека призвана значительно облегчить лесозаготовку для разработчика приложений. Он предоставляет широкий спектр внешних инструментов наряду с публичными интерфейсами для расширения библиотеки. Основными целями библиотеки являются:
- Простота. Небольшой примерный фрагмент кода должен быть достаточным, чтобы получить ощущение библиотеки и быть готовым использовать ее основные функции.
- Обширность. Пользователь должен иметь возможность расширить функциональность библиотеки для сбора и хранения информации в журналах.
- Производительность. Библиотека должна иметь как можно меньше влияния на работу приложения пользователя.