首页 > 解决方案 > 如何记录 sbt 命令的执行时间?

问题描述

每次在 sbt 中输入命令时,我都想登录到一个文件:

我在想象一个 sbt 插件,它连接到 sbt 并在调用任务或命令时被调用。然后它将调用所述任务/命令,记录花费了多长时间并返回值。

我尝试基于如何在另一个任务之后执行任务或命令,即使它失败了,但这并没有让我走得很远。

我认为这可以通过插件来实现,因为存在可视化任务执行时间以及如何评估整个任务图的插件。理想情况下会出现一个日志文件,例如:

clean, started at xyz, took abc seconds
update, started at xyz, took abc seconds
compile, started at xyz, took abc seconds
package, started at xyz, took abc seconds

不需要为了优化单个任务的速度而进行日志记录。我确实需要记录以查看我每天花费多少时间等待哪些任务。我需要命令历史记录以及等待 sbt 执行它们所花费的时间。

-Dsbt.task.timings=true很可爱,但是除非有办法将该输出重定向到文件中或将其通过管道传输到其他程序中,否则它甚至不接近我的要求。

标签: scalasbt

解决方案


推荐阅读