为什么sbt 1.02不能抑制调试日志消息?

时间:2017-10-16 04:56:29

标签: sbt

安装详情:

  • SBT 1.02
  • Scala 2.12.3
  • Java 8
  • ThinkPad上的Ubuntu Linux 16.04& Mac OS X Sierra(10.12.6)

我采取的步骤:

  1. 使用以下说明在Linux和Mac上安装SBT:http://www.scala-sbt.org/1.x/docs/
  2. 创建了Hello World示例。
  3. 尝试在SBT和bash命令行中运行示例程序。
  4. 观察到无论我尝试了什么设置,我仍然会看到调试消息:
  5. 以下是一个示例:

    Osiris:hello Noel$ sbt
    [info] Loading project definition from 
    /Users/Noel/src/scala/sandbox/hello/project
    [info] Loading settings from build.sbt ...
    [info] Set current project to Hello (in build 
    file:/Users/Noel/src/scala/sandbox/hello/)
    [info] sbt server started at 127.0.0.1:5256
    sbt:Hello> logLevel
    [info] warn
    sbt:Hello> run
    [info] Running example.Hello 
    hello
    [debug] Waiting for threads to exit or System.exit to be called.
    [debug]   Classpath:
    [debug]     <abbreviated>.../hello_2.12-0.1.0-SNAPSHOT.jar
    [debug]     <abbreviated>.../scala-library.jar
    [debug] Waiting for thread run-main-0 to terminate.
    [debug]     Thread run-main-0 exited.
    [debug] Interrupting remaining threads (should be all daemons).
    [debug] Sandboxed run complete..
    [debug] Exited with code 0
    [success] Total time: 0 s, completed Oct 15, 2017 9:44:13 PM
    sbt:Hello> 
    

    我尝试了什么:

    1. 从命令行: sbt警告运行
    2. 从SBT内部: 警告 运行
    3. 修改build.sbt以包含该行: logLevel:= Level.Warn
    4. 这是build.sbt的样子:

      import Dependencies._
      
      logLevel := Level.Warn
      
      lazy val root = (project in file(".")).
        settings(
          inThisBuild(List(
            organization := "com.example",
            scalaVersion := "2.12.3",
            version      := "0.1.0-SNAPSHOT",
          )),
          name := "Hello",
          libraryDependencies += scalaTest % Test
        )
      

      我也在这个论坛上搜索过,但这个问题在4年前被问到,这些答案对我不起作用。我错过了什么?

      提前致谢。

1 个答案:

答案 0 :(得分:0)

这是sbt 1.0.1和1.0.2中的已知错误。见https://github.com/sbt/sbt/issues/3655