Maven mengeluarkan terlalu banyak baris output sesuai selera saya (saya suka cara Unix: tidak ada berita adalah kabar baik).
Saya ingin menyingkirkan semua baris [INFO], tetapi saya tidak dapat menemukan penyebutan argumen atau pengaturan konfigurasi yang mengontrol verbositas Maven.
Apakah tidak ada cara seperti LOG4J untuk menyetel tingkat log?
mvn --no-transfer-progress ...
(ataumvn -ntp
singkatnya) harus menjadi solusi yang memadai. Lihat jawaban saya di bawah .Jawaban:
Anda dapat mencoba tombol -q .
sumber
-q
adalah terlalu sepi. Saya menjalankan maven di bawah CI, dan saya ingin melihat langkah-langkah yang diperlukan (untuk melacak kemajuan), tetapi indikator unduhan mengacaukan tampilan non-ANSI. Apakah ada cara untuk hanya mematikan indikator kemajuan unduhan?-B
untuk mengaktifkan mode batch (Anda tetap harus memilikinya di sistem CI Anda!), Dan kemudian aturMAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"
untuk mematikan informasi kemajuan download.--batch-mode
(-B
) agar-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
trik dapat bekerja.-q seperti yang dikatakan di atas adalah apa yang Anda butuhkan. Alternatifnya bisa
-B , --batch-mode Jalankan dalam mode non-interaktif (batch) Mode batch sangat penting jika Anda perlu menjalankan Maven dalam lingkungan integrasi berkelanjutan yang non-interaktif. Saat berjalan dalam mode non-interaktif, Maven tidak akan pernah berhenti menerima masukan dari pengguna. Sebaliknya, ini akan menggunakan nilai default yang masuk akal ketika membutuhkan input.
Dan juga akan mengurangi pesan keluaran lebih atau kurang ke hal-hal penting.
sumber
Dengan Maven 3.6.1 (April 2019) , Anda sekarang memiliki opsi untuk menahan kemajuan transfer saat mengunduh / mengunggah dalam mode interaktif .
Itulah yang diusulkan Ray dalam komentar dengan MNG-6605 dan PR 239 .
sumber
deploy
tugasTautan resmi: https://maven.apache.org/maven-logging.html
Anda dapat menambahkan parameter JVM :
Waspadalah terhadap UPPERCASE.
sumber
Gunakan opsi baris perintah -q atau --quiet
sumber
Jika Anda hanya ingin menghapus
[INFO]
pesan, Anda juga dapat melakukan:Untuk menyembunyikan semua keluaran (kecuali kesalahan), Anda dapat mengalihkan
stdout
ke/dev/null
dengan:(Ini hanya berfungsi jika Anda menggunakan
bash
(atau shell serupa) untuk menjalankan perintah Maven.)sumber
Maven 3.1.x menggunakan SLF4j untuk logging, Anda dapat menemukan petunjuk cara mengkonfigurasinya di https://maven.apache.org/maven-logging.html
Singkatnya: Ubah
${MAVEN_HOME}/conf/logging/simplelogger.properties
, atau setel properti yang sama melaluiMAVEN_OPTS
variabel lingkungan.Misalnya: menyetel
MAVEN_OPTS
untuk-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
mengonfigurasi logging pemroses transfer mode batch, dan-Dorg.slf4j.simpleLogger.defaultLogLevel=warn
menyetel tingkat log default.sumber
Jawaban yang ada membantu Anda memfilter berdasarkan penggunaan level log
--quiet
. Saya menemukan bahwa banyak pesan INFO berguna untuk debugging, namun pesan log artefak pengunduhan seperti berikut berisik dan tidak membantu.Saya menemukan solusi ini:
https://blogs.itemis.com/en/in-a-nutshell-removing-artifact-messages-from-maven-log-output
sumber