ম্যাভেনকে কি কম ভার্বোস বানানো যায়?


104

ম্যাভেন আমার স্বাদে আউটপুটটির অনেকগুলি লাইন ছড়িয়ে দিয়েছেন (আমি ইউনিক্সের মত পছন্দ করি: কোনও সংবাদই ভাল সংবাদ নয়)।

আমি সমস্ত [INFO] লাইনগুলি থেকে মুক্তি পেতে চাই, তবে মাভেনের ভার্বোসটি নিয়ন্ত্রণ করে এমন কোনও যুক্তি বা কনফিগারেশন সেটিংসের কোনও উল্লেখ আমি পাইনি।

লগ স্তর নির্ধারণ করার জন্য কোনও লগ 4 জ-এর মতো উপায় নেই?


2
ম্যাভেনের সাথে 3.6.1 (এপ্রিল 2019, 10+ বছর পরে), mvn --no-transfer-progress ...(বা mvn -ntpশর্টসগুলির জন্য) পর্যাপ্ত সমাধান হওয়া উচিত। দেখুন নিচের আমার উত্তর
ভোনসি

উত্তর:


132

আপনি- কিচ সুইচ চেষ্টা করতে পারেন।

-কি, - শান্ত শান্ত আউটপুট - কেবল ত্রুটি দেখায়


2
@ শিকি: স্পষ্ট করতে, এই বিকল্পটি লগার ডিবাগ বার্তাগুলি অক্ষম করে না - আপনার লগার সেটিংসের মাধ্যমে আপনার এটি বন্ধ করা দরকার। উদাহরণস্বরূপ, আপনি যদি লগব্যাক ব্যবহার করছেন, যদি আপনার প্রকল্পের একটি এসসিআর / টেস্ট / রিসোর্স / লগব্যাক-টেস্ট.এক্সএমএল ফাইল সহ আপনি পরীক্ষা পর্বের সময় আপনার লগিং স্তরটিকে 'বন্ধ' করতে পারেন। এটি সবকিছু পরিষ্কার করবে।
কোডেটরনার

10
আমার সমস্যাটি -qখুব শান্ত। আমি সিআইয়ের অধীনে মাভেন চালাচ্ছি এবং আমি এটি গ্রহণ করা পদক্ষেপগুলি দেখতে চাই (অগ্রগতি ট্র্যাক করতে), তবে ডাউনলোড সূচকগুলি নন-এএনএসআই ডিসপ্লেতে গোলমাল করছে। কেবলমাত্র ডাউনলোড অগ্রগতি সূচকগুলি বন্ধ করার কোনও উপায় আছে?
18:51

6
@ গুস: আপনি যদি কেবল ডাউনলোডিং / ডাউনলোড বার্তাগুলি সরে যেতে চান তবে -Bব্যাচ মোডটি সক্ষম করুন (আপনার সিআই সিস্টেমে এটি আপনার হওয়া উচিত!), এবং MAVEN_OPTS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn"ডাউনলোডগুলির জন্য অগ্রগতির তথ্যকে সরিয়ে দিতে সেট করুন।
আনকন

1
ইন ম্যাভেন 3.5.x আমি আসলে সক্রিয় করতে হবে --batch-mode( -B) জন্য -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warnকাজ কৌতুক।
অউকে

যদি আপনি আনত হয় আমি একটা প্রস্তাবিত সমাধান জমা দিয়েছেন ইন্টারেক্টিভ মোড সঙ্গে সামঞ্জস্যপূর্ণ issues.apache.org/jira/browse/MNG-6605 , github.com/apache/maven/pull/239
সত্যজিৎ

27

-ক হিসাবে উপরে বলা আপনার প্রয়োজন। বিকল্প হতে পারে

-বি , --বাচ-মোড নন-ইন্টারেক্টিভ (ব্যাচ) মোডে রান ব্যাচ মোড অপরিহার্য, যদি আপনাকে একটি ইন্টারেক্টিভ, অবিচ্ছিন্ন ইন্টিগ্রেশন পরিবেশে মাভেন চালানোর প্রয়োজন হয়। অ-ইন্টারেক্টিভ মোডে চলার সময়, মাভেন কখনই ব্যবহারকারীর কাছ থেকে ইনপুট গ্রহণ করতে থামবে না। পরিবর্তে, যখন এটি ইনপুট প্রয়োজন তখন এটি বুদ্ধিমান ডিফল্ট মান ব্যবহার করবে।

এবং প্রয়োজনীয়গুলি কমপক্ষে আউটপুট বার্তাগুলি হ্রাস করবে।


এটি অ-ইন্টারেক্টিভ মোডের জন্য ব্যবহৃত হয়, যা স্বয়ংক্রিয়ভাবে চালানোর সময় সহায়তা করে
স্ট্যানিসালভ

22

আমার সমস্যা হ'ল - কিউ খুব শান্ত। আমি সিআইয়ের অধীনে মাভেন চালাচ্ছি

সঙ্গে ম্যাভেন 3.6.1 (এপ্রিল 2019) , আপনি এখন একটি আছে স্থানান্তর উন্নতি যখন ইন্টারেক্টিভ মোডে ডাউনলোড করার / আপলোড দমন করতে বিকল্প

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

বা সংক্ষেপে:

mvn -ntp ... ....

এমএনজি -6605 এবং পিআর 239 এর সাথে মন্তব্যে রায় এমনটাই প্রস্তাব করেছিলেন


এই সমাধান শুষে আপলোড বার্তা সেইসাথে ডাউনলোডসমূহ, যা সাধারণত একটি কাম্য নয় deployটাস্ক
Hilikus


6

-Q বা --quiet কমান্ড-লাইন বিকল্পগুলি ব্যবহার করুন


2

আপনি যদি কেবলমাত্র [INFO]বার্তাগুলি থেকে মুক্তি পেতে চান তবে আপনি করতে পারেন:

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

সমস্ত আউটপুট দমন করতে (ত্রুটিগুলি বাদ দিয়ে) আপনি এতে পুনর্নির্দেশ stdoutকরতে পারেন /dev/null:

mvn ... 1>/dev/null

(এটি কেবলমাত্র যদি আপনি bashম্যাভেন কমান্ডগুলি চালানোর জন্য (বা অনুরূপ শাঁস ব্যবহার করেন ) কাজ করে)


0

ম্যাভেন ৩.১.x লগিংয়ের জন্য এসএলএফ ৪ জে ব্যবহার করে, আপনি কীভাবে এটি কনফিগার করতে হয় সে সম্পর্কে 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

বিদ্যমান উত্তরটি আপনাকে লগ-স্তর ব্যবহার করে ফিল্টার করতে সহায়তা করে --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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.