首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Calcite项目中的log4j设置

Apache Calcite项目中的log4j设置
EN

Stack Overflow用户
提问于 2020-02-18 20:37:15
回答 1查看 104关注 0票数 1

我已经下载了Apache方解石项目,并在IntelliJ IDEA 2019.3.2中打开了它的Gradle项目。我遇到了一个问题,那就是它无法正确加载slf4j类(我正在获取SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder" error)。最后,我通过将以下行添加到:core模块的build.gradle.kts中解决了这个问题:

代码语言:javascript
复制
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如下所示:

代码语言:javascript
复制
# 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.LOGGERorg.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,但结果是一样的。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-06 19:19:32

  1. 请修改示例/csv/build.gradle.kts,

将以下行添加到依赖项:

代码语言:javascript
复制
   testRuntimeOnly("org.slf4j:slf4j-log4j12")

2.然后将core\src\test\resource\log4j.properties复制到example\src\test\resource\log4j.properties

添加以下行:

代码语言:javascript
复制
# 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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60281080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档