2017-06-22 5 views
0

私のアプリケーションはGradle 3.5を使用しています。ビルドの開始時に、自分自身のlibraryを実行し、log4jを使ってメッセージを記録します。Gradleビルド中にサードパーティから特定のログを表示する方法

私が必要とするのは、libraryが生成するgradle buildの間にINFOメッセージを表示することです。

など。このような出力を得るために:

[INFO ] [com.mylibrary] A message 1 
[ERROR] [com.mylibrary] A message 1 
[INFO ] [com.mylibrary] A message 2 
:compileJava 
:compileGroovy 
... etc. 

私は、コンソールは、その後、私は、ユーザーを邪魔したくないあまりにも多くのがらくたでフラッディングされますようgradle --infoを実行する必要はありません。

これを達成する方法はありますか? Gradle Logging docはstdoutについてのみ、別のエラーレベルにリダイレクトしています。

また、出力パターンを変更するには、ConversionPatternlog4jに指定します。

+1

あなたのライブラリは 'build.gradle'でどのように呼び出されていますか? – ToYonos

+0

名前は重要ですか? :)パターン 'com.company.product:company-upgrade-code:1.0.0-SNAPSHOT'を使用しています。私はこれを依存関係として指定しました.Gradleタスクでは、log4jを使って内部的にログを取るライブラリの 'new Upgrade()。execute()'メソッドを実行します。 –

答えて

0

Gradleは独自の実装slf4jlog4jを使用します。 --infoまたは--debugコマンドライン引数を使用する場合を除き、設定を上書きする方法はありません。

私のライブラリが生成するログをプリントアウトできるようにするために、私はJavaExecタイプの新しいGradleのタスクとのGradle自身のロギング実装が回避され、このように定義されている、と私のライブラリは、その依存関係に定義された正しいロガーを使用しています。

関連する問題