У меня есть javax.annotation.processing.Processor
, который я использую для создания исходных файлов. Все это работает нормально, но я хочу вывести некоторые отладочные сообщения на консоль во время сборки. Я могу использовать класс аннотации Messeger
, но это не позволяет мне подключиться к журналу Gradle. Я бы хотел контролировать вывод с помощью параметров ведения журнала Gradle, поэтому gradle -d ...
пишет отладочные сообщения, gradle -i ...
информационные сообщения и т. д.
Есть ли способ получить регистратор Gradle из моего класса обработки Java-бинов?
Я прочитал документацию по ведению журнала Gradle и попытался использовать ведение журнала SLF4J, но это просто записывает мои сообщения в стандартный вывод, который Gradle получает как QUIET
:
private static final Logger log = LoggerFactory.getLogger("org.gradle.example");
messeger.printMessage(Diagnostic.Kind.NOTE, "BeanProcessor: processing " + classElem);
log.debug("===debug=== BeanProcessor: processClass {}", classElem);
log.error("===error=== BeanProcessor: processClass {}", classElem);
21:28:22.211 [QUIET] [system.out] 21:28:22.208 [main] DEBUG com.example.beans.BeanProcessor - ===debug=== BeanProcessor: processClass com.example.beans.MyBean
21:28:22.212 [QUIET] [system.out] 21:28:22.212 [main] ERROR com.example.beans.BeanProcessor - ===error=== BeanProcessor: processClass com.example.beans.MyBean
21:28:22.216 [ERROR] [system.err] Note: BeanProcessor: processing com.example.beans.MyBean
Кроме того, регистратор, который я получаю, представляет собой ch.qos.logback.classic.Logger
- в документе Gradle упоминается: «Logger ... расширяет интерфейс SLF4J Logger и добавляет несколько методов, специфичных для Gradle», поэтому я ожидаю увидеть некоторые специфичные для Gradle методы. класс регистрации.
Конфигурация Gradle соответствует Обработчик аннотаций в Gradle выводит исходные файлы для сборки/классов, что приводит к сбою javadoc. Как это исправить?
Спасибо,