[英]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,但結果相同。 我究竟做錯了什么?
將以下行添加到依賴項:
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.