Gradle 從外部工具和庫記錄日志

2020-07-24 16:03 更新

在內(nèi)部, Gradle 使用 Ant 和 lvy , 都有自己的 log 系統(tǒng), Gradle 重定向他們的日志輸出到 Gradle 日志系統(tǒng). 除了Ant/lvy的TRACE級(jí)別的日志, 映射到Gradle的DEBUG級(jí)別, 其余的都會(huì)有一個(gè)1:1的映射從 Ant/lvy 的日志等級(jí)到 Gradle 的日志等級(jí). 這意味著默認(rèn)的 Gradle 日志級(jí)別將不會(huì)顯示任何的 Ant /lvy 的輸出, 除非它是一個(gè)錯(cuò)誤或警告.

有許多工具仍然使用標(biāo)準(zhǔn)輸出記錄,默認(rèn)的,Gradle將標(biāo)準(zhǔn)輸出重定向到QUIET的日志級(jí)別和標(biāo)準(zhǔn)錯(cuò)誤的ERROR級(jí)別.該行為是可配置的.該項(xiàng)目對(duì)象提供了一個(gè)LoggerManager,當(dāng)你構(gòu)建腳本進(jìn)行評(píng)估的時(shí)候,允許你改變標(biāo)準(zhǔn)輸出或錯(cuò)誤重定向的日志級(jí)別。

例 17.4.配置標(biāo)準(zhǔn)輸出捕獲

build.gradle

logging.captureStandardOutput LogLevel.INFO
println 'A message which is logged at INFO level'

任務(wù)同樣提供了LoggingManager去更改任務(wù)執(zhí)行過程中的標(biāo)準(zhǔn)輸出或錯(cuò)誤日志級(jí)別。

例 17.5.為任務(wù)配置標(biāo)準(zhǔn)輸出捕獲

build.gradle

task logInfo {
    logging.captureStandardOutput LogLevel.INFO
    doFirst {
        println 'A task message which is logged at INFO level'
    }
}

Gradle同樣提供了Java Util Logging,Jakarta Commons Logging和Log4j logging的集成工具.

使用這些工具包編寫的構(gòu)建的類的記錄的任何日志消息都將被重定向到Gradle的日志記錄系統(tǒng)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)