我正在使用sbt-idea插件,在我的元项目和主项目中,我有logLevel := Level.Warn
的设置。这可以有效地消除我的大部分构建中的所有子警告消息,但sbt-idea
会一直打印出info
条消息。
我猜这个插件可能会在应用logLevel
之前加载,并且它会以某种方式获得对具有不同级别的记录器的引用?特别是插件似乎没有做任何关于日志记录的特别奇怪的事情,除了它似乎to ask the state for its logger at initialization。在我的设置应用后,它可能最终成为一个不同的记录器对象?
我无法弄清楚sbt的哪一部分实际上使用logLevel
设置键来查看它是创建新记录器还是改变现有记录器。
答案 0 :(得分:2)
在--warn
之前使用--error
或gen-idea
。
$ sbt --warn gen-idea
或
$ sbt --error gen-idea
有关更多最新信息(双关语),请参阅Change the logging level globally。
但是要小心,因为你可能会在info
命令静音之后错过gen-idea
,因为它可能需要一段时间才能完成而没有被打印出来与此同时。
因此,在warn
之前使用另一个技巧并执行error
或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/)
有了这个,你会在控制台上看到打印出的某些,可能会有所帮助,也可能没有帮助。