Перенаправить stdout из SBT в файл
Вдохновленный примерами на странице gitub SBT, я пытаюсь перенаправить stdout, созданный в результате запуска в интерактивном режиме SBT, в файл.
Здесь моя неудачная попытка:
> run #> file('/Users/dsg/temp/temp.txt') !
Я пробовал как с, так и без !
в конце. Я пробовал как одиночные, так и двойные кавычки. Ничего не работает - он просто ведет себя так, как будто #> file(...
опускается, вещи только печатаются в stdout, файл не создается.
Ответы
Ответ 1
Я не эксперт SBT, но это не похоже на правильную функцию.
> run
интерпретирует все после него как аргументы файла. #>
похоже, является частью библиотеки sbt, для использования внутри ваших файлов проекта sbt, а не в их приглашении.
Обходя это, я выхожу из sbt и использую внешнюю оболочку для этого:
$ sbt "run" > run_output.txt
Ответ 2
Не знаю, как это сделать с консоли sbt, но из командной строки оболочки вы можете захватить вывод sbt через:
sbt "test" 2>&1 > test.log
Ответ 3
Вы можете попробовать это.
sbt test >> "log.txt"
Ответ 4
Это сработало для меня:
sbt | tee log.txt