scala - sbt:抑制标准输出中的日志前缀

标签 scala logging sbt

将 sbt 与 fork ( fork in run := true ) 一起使用时,从我的应用程序到 stdout 的每个输出都以 [info] 为前缀;输出到 stderr 的前缀是 [error] .

当使用输出到 stderr 的 Java 日志框架时,这种行为有点烦人。生成的调试消息通常如下所示:

[error] [main] INFO MyClass ...
[error] [main] DEBUG MyClass ...

我想抑制这些前缀,就像在不 fork 的情况下运行代码一样。我试过的:
  • 设置 sbt -Dsbt.log.noformat=true在 sbt 启动脚本中。但这只会删除彩色的 ANSI 输出;前缀仍然存在,只是没有颜色
  • 设置 logLevel in run := Level.Errorbuild.sbt .这似乎对使用 fork 进行日志记录没有任何影响。

  • 有没有办法抑制前缀?

    最佳答案

    您需要设置 output strategy你的项目。

    在我的扩展构建中,我有以下设置:

    settings = Project.defaultSettings ++ Seq(
      fork                  :=   true, // Fork to separate process
      connectInput in run   :=   true, // Connects stdin to sbt during forked runs
      outputStrategy        :=   Some(StdoutOutput) // Get rid of output prefix
      // ... other settings
    )
    

    关于scala - sbt:抑制标准输出中的日志前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14504572/

    相关文章:

    scala - 如何修复错误 : "org.jetbrains.jps.incremental.scala.remote.ServerException java.lang.StackOverflowError"

    scala - 在Scala中逐行并发读取和处理文件

    android - 使用 Scala 在 Android 上使用 Google map

    java - 如何分解 Java 8 和 SLF4J 中的条件日志检查?

    java - Spring on Glassfish - 记录 Hibernate 参数?

    java - 0% 代码覆盖 jacoco4sbt 2.0.0, sbt 0.12.2

    scala - 允许方法签名中存在子类型的特征

    java - 仅在 Spark 中可见的 Shapeless 中的 NoSuchMethodError

    java - 如何使用 Apache Commons 登录 Digester?

    java - Playframework - 分包 Controller 和路由问题