Не уверен, где ваша проблема, но это build.sbt
содержимое работает нормально с настройкой уровня журнала для задачи
val mainRunner = taskKey[Unit]("Print some log")
val runner2 = taskKey[DummyRun]("hold dummy runner")
lazy val root = project
.in(file("."))
.settings(
runner2 := new DummyRun,
mainRunner := {
val logger = streams.value.log
logger.warn("Hello warn")
logger.info("Hello info")
logger.debug("Hello debug")
runner2.value.run(logger)
},
(logLevel in mainRunner) := Level.Warn
)
Где DummyRun
- класс в папке project
с содержимым
import sbt.Logger
class DummyRun {
def run(log: Logger): Unit = {
log.warn("DummyRun warn")
log.info("DummyRun info")
log.debug("DummyRun debug")
}
}
Выходы:
> mainRunner
[warn] Hello warn
[warn] DummyRun warn