改变Gradle的记录内容

你可以用自己的内容取代大部分摇篮的UI记录.你可以这样做,例如,如果你想以某种方式定制UI,如:记录更多或更少的信息,或更改log的格式.你可以使用Gradle.useLogger())方法替换日志.可从一个构建脚本或初始化脚本,或通过嵌入API替换.注意,这会完全禁用Gradle的默认输出.下面的初始化脚本改变任务执行和完成构建后日志的输出.

例 17.6.定制Gradle logs

init.gradle

  1. useLogger(new CustomEventLogger())
  2. class CustomEventLogger extends BuildAdapter implements TaskExecutionListener {
  3. public void beforeExecute(Task task) {
  4. println "[$task.name]"
  5. }
  6. public void afterExecute(Task task, TaskState state) {
  7. println()
  8. }
  9. public void buildFinished(BuildResult result) {
  10. println 'build completed'
  11. if (result.failure != null) {
  12. result.failure.printStackTrace()
  13. }
  14. }
  15. }

gradle -I init.gradle build的输出

> gradle -I init.gradle build
[compile]
compiling source

[testCompile]
compiling test source

[test]
running unit tests

[build]

build completed

你的logger可以实现下面列出的任何监听器接口.仅它实现接口被替换,其他接口保持不变。你可以在Section 56.6, “Responding to the lifecycle in the build script”中找到更多相关信息.