簡體   English   中英

Apache Calcite 項目中的 log4j 設置

[英]log4j settings in Apache Calcite project

我已經下載了 Apache Calcite 項目並在 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說明,但沒有走運(盡管log4j.properties發生了任何更改, RelOptRuleCall.LOGGER設置為INFO )。

我正在使用 IntelliJ IDEA 2019.3.2 社區版和 Windows 10。我也在嘗試使用 JDK 1.8 而不是默認的 JDK 11,但結果相同。 我究竟做錯了什么?

  1. 請修改example/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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM