【问题标题】:Scala 2.12 logging compilation too verbosely in SBT 0.13.16Scala 2.12 日志编译在 SBT 0.13.16 中过于冗长
【发布时间】:2017-08-21 16:59:33
【问题描述】:

自从更新到 Scala 2.12 后,sbt 在编译时会在info 级别记录大量数据,例如:

[info] /home/zoltan/workspace/reboot/juniqe/libs/db/src/main/scala/com/juniqe/db/slick/CmsBlockDao.scala:548: isomorphicType is not a valid implicit value for slick.ast.TypedType[slick.lifted.Rep[Short]] because:
[info] hasMatchingSymbol reported error: could not find implicit value for parameter iso: slick.lifted.Isomorphism[slick.lifted.Rep[Short],B]
[info]       block <- CmsBlock if block.blockId === blockId
[info]             ^

这看起来像一个错误,但没有编译错误,所以我想将这些消息静音,因为有时它们太多了,我的终端溢出,我看不到实际的编译错误。

如何降低仅用于编译(包括测试和集成测试编译)的日志记录级别?

我尝试设置logLevel in Compile := Level.WarnlogLevel in Compile := Level.Warn,但消息仍然存在。

设置logLevel in Global := Level.Warn 可以解决问题,但我不想为Global 范围设置它。

注意:这是一个多项目构建,我从根项目运行compile

【问题讨论】:

  • 嗯,它们看起来确实像编译错误。他们来自哪里?

标签: scala sbt


【解决方案1】:

好吧,事实证明,所有这些错误的出现都是因为一位同事启用了 SBT 标志-Xlog-implicits,根据 SBT “显示 [s] 更多关于为什么某些隐式不适用的信息”。删除此标志后,错误消失了。

来源:https://paulbutcher.com/2010/04/26/scala-compiler-advanced-options/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多