gpt4 book ai didi

gradle - 如何在 Gradle 中创建日志文件

转载 作者:行者123 更新时间:2023-12-02 04:42:43 31 4
gpt4 key购买 nike

我正在使用 Gradle-2.11,但我无法找到一种方法来创建记录调试级别信息的日志文件。我不想通过命令行将日志重定向到日志文件来完成此操作。我想要像 Apache Ant 的“记录”任务一样的 Gradle 代码,这样我就可以将该代码放在我的 build.gradle 文件中的任何我想创建日志的地方。

例如:如果我想将这个 ant 任务转换为 gradle,那么代码是什么:

<record name="${BuildLogPath}/${BuildLogFile}" append="no" loglevel="verbose" action="start"/>

最佳答案

Gradle 与 Ant 的集成非常好 (https://docs.gradle.org/2.11/userguide/ant.html)

它不会自动记录每个步骤。我没有意识到那是你要问的。下面的更新将产生输出,您可以手动记录。

ant.record(name: "${BuildLogPath}/${BuildLogFile}", append:false, loglevel: "verbose", action: "start")
ant.echo("start logging")

//... do stuff here

ant.echo(message: "end logging")
ant.record(name: "${BuildLogPath}/${BuildLogFile}", append:false, loglevel: "verbose", action: "stop")

这可能会完成您所要求的更多工作。注意:这是我从这个优秀示例中略微改编的内容: http://themrsion.blogspot.com/2013/10/gradle-logging-writing-to-log-to-file.html

import org.gradle.logging.internal.*
String currentDate = new Date().format('yyyy-MMM-dd_HH-mm-ss-S')
String loggingDirectory = "${rootDir}/build/logs"
mkdir("${loggingDirectory}")
File gradleBuildLog = new File("${loggingDirectory}/${currentDate}_gradleBuild.log")

gradle.services.get(LoggingOutputInternal).addStandardOutputListener (new StandardOutputListener () {
void onOutput(CharSequence output) {
gradleBuildLog << output
}
})

gradle.services.get(LoggingOutputInternal).addStandardErrorListener (new StandardOutputListener () {
void onOutput(CharSequence output) {
gradleBuildLog << output
}
})

关于gradle - 如何在 Gradle 中创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36127607/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com