2

我正在使用sbt-idea插件,在我的元项目和主项目中,我有一个logLevel := Level.Warn. 这可以有效地消除我大部分构建中的所有子警告消息,但sbt-idea会不断打印出info消息。

我猜也许插件logLevel是在应用之前加载的,并且它以某种方式获得了对具有不同级别的记录器的引用?特别是该插件似乎并没有对日志记录做任何特别时髦的事情,除了它似乎在初始化时询问其记录器的状态。在应用我的设置后,它可能最终成为与那个不同的记录器对象?

我无法弄清楚 sbt 的哪一部分实际使用了logLevel设置键来查看它是创建一个新的记录器还是改变现有的记录器。

4

1 回答 1

2

使用--warn--error之前gen-idea

$ sbt --warn gen-idea

或者

$ sbt --error gen-idea

有关更多最新信息(双关语),请参阅全局更改日志记录级别。

但是要小心,因为info在您使命令静音后您可能真的会错过 s,gen-idea因为它可能需要一段时间才能完成并且在此期间没有任何内容被打印出来。

因此,使用另一个技巧并在之前执行warnerror命令可能更有用gen-idea

$ sbt warn gen-idea
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Set current project to aaa (in build file:/Users/jacek/sandbox/stackoverflow/16256180/)

有了这个,你会在控制台上看到打印出来的东西,这些东西可能有帮助,也可能没有帮助。

于 2013-12-23T15:03:43.523 回答