QQ группа: 287863133
AnyLog предоставляет разработчикам удобную платформу для записи логов в работающей системе без необходимости изменения кода и перезапуска системы.
1. Некоторые разработчики при работе с кодом игнорируют исключения, что затрудняет поиск проблемы. Этот инструмент позволяет динамически выводить эти скрытые исключения без простоя системы.
2. В некоторых проектах используются сторонние JAR-библиотеки. При возникновении проблем, если в библиотеке нет логирования, ранее требовалось пере компилировать библиотеку, добавить логирование, перезапустить сервис и затем найти причину. Но используя этот инструмент, можно динамически добавить логирование без необходимости модификации сторонней JAR-библиотеки или перезапуска системы.
1. Вывод стеков исключений, даже если они были скрыты.
2. Логирование конкретной строки метода определённого класса.
3. Логирование начала выполнения метода определённого класса.
4. Логирование завершения выполнения метода определённого класса.
5. Вывод времени выполнения метода, поддерживаются вложенные методы. Для расширения новых функций (например, отображение использования CPU JVM, размер памяти и т.д.), достаточно реализовать SPI интерфейсы `com.github.jobop.anylog.spi.TransformDescriptor` и `com.github.jobop.anylog.spi.TransformHandler`, а затем поместить реализацию JAR-файла в директорию `providers`. ## Способ использования
1. Получение исполняемого файла программы:
1) Вы можете получить официальную версию с этого адреса: <https://github.com/jobop/release/tree/master/anylog>
2) Также вы можете клонировать исходный код и выполнить следующие команды для создания исполняемого файла. Готовый исполняемый файл будет находиться в директории `dist`.
Создание Windows версии: `mvn install`
Создание Linux версии: `mvn install -Plinux`
2. Для запуска используйте `startup.bat` или `startup.sh` соответственно.
3. Доступен через <http://127.0.0.1:52808>## Расширение функциональности
AnyLog использует механизм SPI для расширения своих возможностей. Если вы хотите добавить новые возможности (например, вывод значений, возвращаемых методами), выполните следующие шаги:
1. Используйте следующую команду для создания проекта SPI и импорта его в Eclipse:
mvn archetype:generate -DarchetypeGroupId=com.github.jobop -DarchetypeArtifactId=anylogspi-archetype -DarchetypeVersion=1.0.4
2. Изучите два примера в этом проекте (вставка лога в начале метода и в конце), реализуйте интерфейсы TransformDescriptor и TransformHandler.
3. Полные пути ваших реализаций этих интерфейсов должны быть добавлены в следующие файлы:
src/main/resources/META-INF/services/com.github.jobop.anylog.spi.TransformDescriptor
src/main/resources/META-INF/services/com.github.jobop.anylog.spi.TransformHandler
4. Выполните mvn install для сборки вашего расширения. В директории dist будет создан jar вашего расширения.
5. Копируйте этот jar в директорию providers приложения AnyLog и перезапустите его.
Примечание: При реализации SPI мы предоставляем аннотацию SpiDesc, которая применяется к вашим реализациям TransformDescriptor и используется для генерации описаний функциональности. Для более глубокого понимания механизма SPI воспользуйтесь поиском в интернете: Java SPI
attachApi, Instrumentation, Javassist, SPI, механизм ClassLoader, Socket## Часто задаваемые вопросы
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )