Scala sbt 控制台(启动 ammonite shell):如何禁用调试日志记录

Scala sbt console (launching ammonite shell): How to Disable debug logging

我正在 sbt 控制台中启动 Ammonite shell 并尝试 运行 激发作业,我看到日志记录级别是 Debug 并且它正在打印出所有调试级别的记录器,这会产生大量的记录并花费很长时间才能完成工作。

14:36:14.331 [run-main-0] DEBUG org.apache.http.wire -  >> "Content-Type: application/octet-stream[\r][\n]"
14:36:14.331 [run-main-0] DEBUG org.apache.http.wire -  >> "Connection: Keep-Alive[\r][\n]"
14:36:14.331 [run-main-0] DEBUG org.apache.http.wire -  >> "[\r][\n]"
14:36:14.331 [run-main-0] DEBUG org.apache.http.headers - >> GET /nlp/resources/DecisionSentence/parenUnigrams.txt HTTP/1.1
14:36:14.331 [run-main-0] DEBUG org.apache.http.headers - >> Host: ravellaw.s3-us-west-2.amazonaws.com
14:36:14.331 [run-main-0] DEBUG org.apache.http.headers - >> X-Amz-Date: 20160209T223614Z

以下是我尝试禁用调试级别日志记录但我仍然看到调试级别记录器的设置

在 build.sbt 中添加:

showSuccess := false
logLevel in console := Level.Warn
logLevel in run := Level.Warn

尝试使用警告调用 sbt 控制台:

sbt --warn console

尝试在 sbt 控制台中进行以下设置:

System.setProperty("log4j.logger.org.apache.http.wire", "WARN")
System.setProperty("log4j.logger.org.apache.http.headers", "WARN")
System.setProperty("log4j.logger.org.apache.http.content", "WARN")

编辑 /spark/conf/log4j.properties 并更改行格式

log4j.rootCategory=INFO, console

log4j.rootCategory=WARN, console

不幸的是,在所有这些更改之后,我仍然看到调试级别的日志记录。

解决了我的问题运行这些在repl

import ch.qos.logback.classic.Logger
import org.slf4j.LoggerFactory
import ch.qos.logback.classic.Level

val root = LoggerFactory.getLogger("org.apache.http.wire").asInstanceOf[Logger]

root.setLevel(Level.WARN)