如何在Gradle中创建日志文件

如何在Gradle中创建日志文件,gradle,ant,Gradle,Ant,我使用的是Gradle-2.11,无法找到一种方法来创建记录调试级别信息的日志文件。我不想通过命令行将日志重定向到日志文件。我想要Gradle代码,就像ApacheAnt的“记录”任务一样,这样我就可以将代码放在build.Gradle文件中,无论我想在哪里创建日志 例如:如果我想将这个ant任务转换为gradle,那么代码是什么: <record name="${BuildLogPath}/${BuildLogFile}" append="no" loglevel="verbose" a

我使用的是Gradle-2.11,无法找到一种方法来创建记录调试级别信息的日志文件。我不想通过命令行将日志重定向到日志文件。我想要Gradle代码,就像ApacheAnt的“记录”任务一样,这样我就可以将代码放在build.Gradle文件中,无论我想在哪里创建日志

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

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

Gradle与Ant()的集成非常好

它不会自动记录每个步骤。我不知道你是这么问的。下面更新的将生成输出,您可以手动记录

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")
这可能会满足你的要求。注意:这是我从这个极好的例子中略作修改的:

import org.gradle.logging.internal*
字符串currentDate=new Date().格式('yyyy-MMM-dd_HH-mm-ss-S')
String loggingDirectory=“${rootDir}/build/logs”
mkdir(“${loggingDirectory}”)
File gradleBuildLog=新文件(${loggingDirectory}/${currentDate}\u gradleBuild.log”)
gradle.services.get(loggingOutputTernal).addStandardOutputListener(新的StandardOutputListener(){
void onOutput(字符序列输出){

gradleBuildLog我不相信Gradle现在支持这个。不过我相信这是可以做到的,所以希望有人能提供答案!谢谢你的回复,但我实际上正在将当前的Ant代码迁移到Gradle,所以再次使用Ant对我来说不是一个好的选择。此外,这个方法正在创建日志文件,但它是空的。我丢失了吗某物
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
    }
})