Как записать ошибку компиляции gradle проекта в файл? - PullRequest
0 голосов
/ 03 апреля 2020

Я попытался записать ошибки компиляции в файл, используя данные, указанные по ссылке ниже, https://discuss.gradle.org/t/how-do-i-add-an-appender-to-the-gradle-logger-via-a-plugin/3733/2, но он также всегда добавляет все предыдущие журналы. Мне нужен только текущий сбой для входа (попытался очистить текст в файле, который также не помог). Также однажды добавленный слушатель я не мог удалить это. Можете ли вы объяснить, как этого добиться? Ниже мой код

def buildLogDir = "${rootDir}/cireports"
def buildLog = new File("${buildLogDir}/errorlogs/XXX.txt")
def listen = new StandardOutputListener () {
            void onOutput(CharSequence output) {
                buildLog << output
            }
        }
        if(new File(buildLogDir).exists()) {
        gradle.services.get(LoggingOutputInternal).removeStandardErrorListener (listen)
        new File(buildLogDir).deleteDir()
        }
//This task is triggered when build failure occur
gradle.buildFinished { buildResult ->
    if (buildResult.failure) {
        mkdir("${buildLogDir}/errorlogs")
    //gradle.services.get(LoggingOutputInternal).addStandardErrorListener (listen)  }
}

По умолчанию я удалю слушателя. Если есть проблемы с компиляцией, добавим слушателя. После добавления прослушивателя даже после удаления кода он пытается записать ошибку в файл. Я подозреваю, что способ, которым я удалил слушателя, был неправильным, может кто-нибудь помочь мне достигнуть этого? Это будет высоко ценится.

Примечание: Даже после удаления прослушивателя отображается ошибка «Не удалось уведомить стандартный выходной прослушиватель»

...