改变Gradle记录的内容
你可以用自己的内容取代大部分摇篮的UI记录.你可以这样做,例如,如果你想以某种方式定制UI,如:记录更多或更少的信息,或更改log的格式.你可以使用Gradle.useLogger())方法替换日志.可从一个构建脚本或初始化脚本,或通过嵌入API替换.注意,这会完全禁用Gradle的默认输出.下面的初始化脚本改变任务执行和完成构建后日志的输出.
例 17.6.定制Gradle logs
init.gradle
useLogger(new CustomEventLogger())
class CustomEventLogger extends BuildAdapter implements TaskExecutionListener {
public void beforeExecute(Task task) {
println "[$task.name]"
}
public void afterExecute(Task task, TaskState state) {
println()
}
public void buildFinished(BuildResult result) {
println 'build completed'
if (result.failure != null) {
result.failure.printStackTrace()
}
}
}
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”中找到更多相关信息.
- BuildListener
- ProjectEvaluationListener
- TaskExecutionGraphListener
- TaskExecutionListener
- TaskActionListener