2016-07-20 12 views
0

私のbuild.gradle内の私のタスクの1つはインターラティブなので、常に-qフラグで実行する必要があります。私のbuild.gradleから常にタスクを静かに実行させる方法は?

./gradlew -q MyTask 

ユーザーが-qフラグを使用することを忘れていても、ビルドスクリプトを自動的に設定するように私は私のbuild.gradleファイルからこの属性を制御することができますが道か?

+0

特定のタスクのログレベルのみを変更する必要がありますか?同じビルドで実行される残りのタスクはどうでしょうか? – Opal

+0

理想的には、1つのタスクにすぎません。 –

+0

これは間違いなく不可能です。 – Opal

答えて

1

現在、ビルドの開始後にgradleのログレベルを変更することはできません。現在の値を発見することはできますが、コードを実行できる時間は読み取り専用です。それはstartParamaterだことで

LogLevelはスクリプトでGradleのオブジェクトを介してアクセスすることができます。

LogLevel level = gradle.startParameter.logLevel 
println "Current logging level: $level" 

https://docs.gradle.org/current/javadoc/org/gradle/StartParameter.html#getLogLevel()

別のノートで、あなたは常に、コンソールに送信されていないログを持っているしたい場合あなたのイベントのためにあなたが望んでいるのであれば、グラマーの内蔵のロガーを使用することができます

project.logger.info("my message that only prints if caller uses --info flag on command line") 

ロガーはlifecycleレベルを使用します。

project.logger.lifecycle('my message that will always print') 
+0

ありがとうございます。忘れた場合、 '-q'フラグを使うようにユーザーに思い出させることができます。 –

+0

あなたのプラグイン/タスクにメッセージを記録する良い方法が追加されました – JBirdVegas

関連する問題