I am writing a Command and want to use the Logger
in TaskStreams
but this is not possible since you cannot access .value
of a SettingKey in a Command. Is there some way?
def myCommand = Command.single("myCommand") {
case (currentState, userInput) =>
val extracted = Project.extract(currentState)
val log = streams.value.log <--- not allowed
log.info("Some logging")
currentState
}
streams
is intended for tasks, not commands.So one way is to create a "holder"
TaskKey
and get a stream of that, for instance sbt-pgp creates and usespgpCmdContext
- see the definition of pgp-cmd.Another way is using
sLog
, but I'm not sure ifsLog
should be used here: