From 25ab94d96afa3ed20eac1e057aeb309ab7fe612b Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 25 Mar 2018 14:56:00 -0400 Subject: [PATCH] Fixes -error not suppressing startup logs Fixes #3849 This brings back the 0.13 logic: ```scala def setGlobalLogLevel(s: State, level: Level.Value): State = { s.globalLogging.full match { case a: AbstractLogger => a.setLevel(level) case _ => () } s.put(BasicKeys.explicitGlobalLogLevels, true).put(Keys.logLevel.key, level) } ``` --- main/src/main/scala/sbt/internal/LogManager.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/internal/LogManager.scala b/main/src/main/scala/sbt/internal/LogManager.scala index 9abec04c6..66aa49fce 100644 --- a/main/src/main/scala/sbt/internal/LogManager.scala +++ b/main/src/main/scala/sbt/internal/LogManager.scala @@ -229,8 +229,13 @@ object LogManager { // s // } - def setGlobalLogLevel(s: State, level: Level.Value): State = - s.put(BasicKeys.explicitGlobalLogLevels, true).put(Keys.logLevel.key, level) + def setGlobalLogLevel(s: State, level: Level.Value): State = { + val s1 = s.put(BasicKeys.explicitGlobalLogLevels, true).put(Keys.logLevel.key, level) + val gl = s1.globalLogging + LogExchange.unbindLoggerAppenders(gl.full.name) + LogExchange.bindLoggerAppenders(gl.full.name, (gl.backed -> level) :: Nil) + s1 + } // This is the default implementation for the relay appender val defaultRelay: Unit => Appender = _ => defaultRelayImpl