Я скачал проект Apache Calcite и открыл его проект Gradle в IntelliJ IDEA 2019.3.2. У меня была проблема, что он не мог правильно загрузить классы slf4j (я получал SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" error
). Наконец, я решил проблему, добавив следующие строки в build.gradle.kts
модуля :core
:
dependencies {
...
implementation("org.slf4j:slf4j-api:1.7.3")
implementation("org.slf4j:slf4j-simple:1.7.3")
...
}
Теперь избавимся от ошибки; однако регистратор всегда установлен на INFO
уровень ведения журнала независимо от настройки core\src\test\resource\log4j.properties
. В настоящее время мой log4j.properties
выглядит следующим образом:
# Change rootLogger level to WARN
log4j.rootLogger=ALL, A1
# A1 goes to the console
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p - %m%n
Я запускаю тесты CsvExample
, и регистрация не ведется. Когда я отлаживаю, я вижу, что RelOptRuleCall.LOGGER
установлен на INFO
уровень ведения журнала. RelOptRuleCall.LOGGER
является экземпляром org.slf4j.impl.SimpleLogger
. Я также следовал инструкциям https://calcite.apache.org/docs/howto.html#tracing, но без удачи (RelOptRuleCall.LOGGER
установлен на INFO
несмотря на любые изменения log4j.properties
).
Я использую IntelliJ IDEA 2019.3.2 Community Edition и Windows 10. Я также пробовал JDK 1.8 вместо JDK 11 по умолчанию, но с тем же результатом. Что я делаю не так?