我已经下载了Apache方解石项目,并在IntelliJ IDEA 2019.3.2中打开了它的Gradle项目。我遇到了一个问题,那就是它无法正确加载slf4j类(我正在获取SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" error)。最后,我通过将以下行添加到:core模块的build.gradle.kts中解决了这个问题:
dependencies {
...
implementation("org.slf4j:slf4j-api:1.7.3")
implementation("org.slf4j:slf4j-simple:1.7.3")
...
}现在消除这个错误;但是,无论core\src\test\resource\log4j.properties设置如何,记录器始终被设置为INFO日志记录级别。目前,我的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社区版和Windows10。我也尝试了JDK1.8而不是默认的JDK11,但结果是一样的。我做错了什么?
发布于 2020-05-06 19:19:32
将以下行添加到依赖项:
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=TRACEhttps://stackoverflow.com/questions/60281080
复制相似问题