将单个命令的输出重定向到sbt中的文件有什么方法?
我可以退出sbt,执行sbt mycommand > out.txt
,然后再次启动它,但是我想知道是否还有其他选择?
在“添加自定义记录器”中,您可以找到有关将自定义记录器记录到文件所需的信息的更多信息-使用extraLoggers
并添加执行保存的sbt.AbstractLogger实例。
您可能会找到关于在SBT中显示调试模式的时间戳的答案?有用。示例复制到这里:
def datedPrintln = (m: String) =>
println(s"+++ ${java.util.Calendar.getInstance().getTime()} $m")
extraLoggers := {
val clientLogger = FullLogger {
new Logger {
def log(level: Level.Value, message: => String): Unit =
if(level >= Level.Info) datedPrintln(s"$message at $level")
def success(message: => String): Unit = datedPrintln(s"success: $message")
def trace(t: => Throwable): Unit = datedPrintln(s"trace: throwable: $t")
}
}
val currentFunction = extraLoggers.value
(key: ScopedKey[_]) => clientLogger +: currentFunction(key)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句