настройки log4j в Apache проекте Calcite - PullRequest
1 голос
/ 18 февраля 2020

Я скачал проект 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 по умолчанию, но с тем же результатом. Что я делаю не так?

1 Ответ

0 голосов
/ 06 мая 2020
  1. измените пример / csv / build.gradle.kts,

добавьте следующие зависимости в зависимости:

   testRuntimeOnly("org.slf4j:slf4j-log4j12")

2. затем скопируйте core\src\test\resource\log4j.properties к example\src\test\resource\log4j.properties

добавить следующие строки:


# Increase level to DEBUG for RelOptPlanner
log4j.logger.org.apache.calcite.plan.RelOptPlanner=TRACE
# Increase level to TRACE for HepPlanner
log4j.logger.org.apache.calcite.plan.hep.HepPlanner=TRACE

...