web-dev-qa-db-ja.com

Mavenをより冗長にすることはできますか?

Mavenは、私の好みに合わせて非常に多くの行を出力します(私はUnixの方法が好きです:良いニュースはありません)。

すべての[INFO]行を削除したいのですが、Mavenの冗長性を制御する引数または構成設定についての言及が見つかりませんでした。

ログレベルを設定するLOG4Jのような方法はありませんか?

92
Asaf Bartov

-q スイッチを試すことができます。

-q、-quiet静かな出力-エラーのみを表示

115
Jorge Ferreira

-q上記のようにあなたが必要なものです。代替案は

-B-batch-mode非対話型(バッチ)モードで実行非対話型の継続的統合環境でMavenを実行する必要がある場合は、バッチモードが不可欠です。非対話型モードで実行している場合、Mavenはユーザーからの入力を受け入れるために停止することはありません。代わりに、入力が必要な場合に適切なデフォルト値を使用します。

また、出力メッセージを基本的に多少減らします。

24
Stanislav

公式リンク: https://maven.Apache.org/maven-logging.html

[〜#〜] jvm [〜#〜]パラメーターに追加できます:

-Dorg.slf4j.simpleLogger.defaultLogLevel=WARN

大文字に注意してください。

7
jgrtalk

-qまたは--quietコマンドラインオプションを使用します

6
Sietse

私の問題は、-qが静かすぎることです。 CIでmavenを実行しています

Maven 3.6.1(2019年4月) では、オプションを使用して、インタラクティブモードでダウンロード/アップロードするときに転送の進行を抑制できます

mvn --no-transfer-progress ....

または要するに:

mvn -ntp ... ....

Ray 提案 コメント内 with MNG-6605 および PR 239 .

2
VonC

既存の回答は、--quietを使用してログレベルに基づいてフィルタリングするのに役立ちます。多くのINFOメッセージはデバッグに役立ちますが、次のようなアーティファクトログメッセージのダウンロードは騒々しく、役に立たないことがわかりました。

Downloading: http://nexus:8081/nexus/content/groups/public/org/Apache/maven/plugins/maven-compiler-plugin/maven-metadata.xml

私はこの解決策を見つけました:

https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output

mvn clean install -B -Dorg.slf4j.simpleLogger.log.org.Apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
0
errant.info

Maven 3.1.xはロギングにSLF4jを使用します。設定方法は https://maven.Apache.org/maven-logging.html で確認できます。

つまり、${MAVEN_HOME}/conf/logging/simplelogger.propertiesを変更するか、MAVEN_OPTS環境変数を使用して同じプロパティを設定します。

たとえば、MAVEN_OPTS-Dorg.slf4j.simpleLogger.log.org.Apache.maven.cl‌​i.transfer.Slf4jMave‌​nTransferListener=wa‌​rnに設定すると、バッチモード転送リスナーのログが構成され、-Dorg.slf4j.simpleLogger.defaultLogLevel=warnがデフォルトのログレベルを設定します。

0
ankon

[INFO]メッセージのみを削除する場合は、次のこともできます。

mvn ... | fgrep -v "[INFO]"

all出力(エラーを除く)を抑制するには、次を使用してstdout/dev/nullにリダイレクトできます。

mvn ... 1>/dev/null

(これは、bash(または同様のシェル)を使用してMavenコマンドを実行する場合にのみ機能します。)

0
m13r