Gradle

2016-03-21 40 views
3

için günlük dosyaları oluşturma nasıl Gradle-2.11 kullanıyorum ve hata ayıklama düzeyi bilgilerini günlüğe kaydeder günlük dosyaları oluşturmak için bir yol bulamıyorum. Günlükleri günlük dosyasına yeniden yönlendirerek komut satırı üzerinden yapmak istemiyorum. Gracket kodunu Apache Ant'in 'record' görevi gibi istiyorum, böylece bu kodu log oluşturmak istediğim her yerde build.gradle dosyasına koyabilirim.Gradle

ex

:

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

Ben Gradle inanmıyorum şu anda bu destekler: Bu benim bu mükemmel örnekten biraz adapte şeydir. Eminim ki yapılabilir, o yüzden umarım birisi cevap verecektir! – Jolta

cevap

0

Gradle Ant (https://docs.gradle.org/2.11/userguide/ant.html)

ile gerçekten güzel bütünleşir otomatik değil: Ben gradle için bu karınca görevi dönüştürmek istiyorsanız, o zaman ne kod olurdu her adımı kaydedin. Ne istediğini anlayamadım. Aşağıda güncellenen çıktıyı üretecek ve manuel olarak giriş yapabilirsiniz.

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") 

Bu, ne istediğinizi daha fazla yapabilir. Not: 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 
    } 
}) 
+0

Cevabınız için teşekkür ederim ama aslında Ant'i kullanarak mevcut Ant kodunu Gradle'a taşıyorum, bu yüzden Ant benim için iyi bir seçenek değil. – prachi309

+0

Ayrıca, bu yöntem günlük dosyası oluşturuyor ancak boş. Bir şey mi eksik? – prachi309