1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jobop-anylog

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

anylog

О проекте AnyLog

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## Часто задаваемые вопросы
  1. После запуска не видно списка виртуальных машин? Проверьте версию используемого программного обеспечения. Если версия правильная, проблема может быть связана с правами доступа. Проблемы с правами часто возникают на Windows 7, попробуйте запустить приложение от имени администратора.
  2. При использовании Eclipse для запуска Tomcat ничего не происходит. Когда вы запускаете Tomcat через Eclipse, процесс Tomcat работает независимо от Eclipse. Иногда пользователи случайно запускают Tomcat внутри Eclipse, что приводит к тому, что изменения не проявляются. Обычно после запуска Tomcat anylog обнаруживает его процесс за 30 секунд.
  3. Как откатить изменения? После того как JVM была изменена, в списке JVM рядом с этим процессом появится красная ссылка restore_vm. Нажмите её, чтобы восстановить состояние. Также любое изменение будет автоматически отменено при выходе из программы anylog.Благодарность @aqxiebin @tebaton за提供的支持

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

anylog предоставляет разработчикам удобную платформу, которая помогает им в любой момент добавлять нужные логи в работающую систему без необходимости изменять код и перезапускать её. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/jobop-anylog.git
git@api.gitlife.ru:oschina-mirror/jobop-anylog.git
oschina-mirror
jobop-anylog
jobop-anylog
master