আমি ম্যাভেনকে তথ্য বার্তা প্রদর্শন করা থেকে বিরত রাখতে চাই, আমি কেবল সতর্কতা এবং ত্রুটিগুলি দেখতে চাই (যদি থাকে)।
আমি কীভাবে আধ্যাত্মিক কমান্ড লাইনটি মাভেনকে পরিবর্তন করে এটি অর্জন করতে পারি?
আমি ম্যাভেনকে তথ্য বার্তা প্রদর্শন করা থেকে বিরত রাখতে চাই, আমি কেবল সতর্কতা এবং ত্রুটিগুলি দেখতে চাই (যদি থাকে)।
আমি কীভাবে আধ্যাত্মিক কমান্ড লাইনটি মাভেনকে পরিবর্তন করে এটি অর্জন করতে পারি?
উত্তর:
আমি একটি ছোট তদন্ত করেছি কারণ আমিও সমাধানটিতে আগ্রহী।
Http://books.sonatype.com/mvnref-book/references/running-sect-options.html#running-sect-verbose-option অনুসারে
বর্তমানে maven 3.1.x System.out এ লগ করতে SLF4J ব্যবহার করে। আপনি ফাইলটিতে লগিং সেটিংস পরিবর্তন করতে পারেন:
${MAVEN_HOME}/conf/logging/simplelogger.properties
পৃষ্ঠা অনুসারে: http://maven.apache.org/maven-logging.html
আমি মনে করি আপনার কমান্ড লাইন প্যারামিটারের মাধ্যমে সাধারণ লগরের ডিফল্ট লগ স্তর সেটআপ করতে সক্ষম হওয়া উচিত:
$ mvn clean package -Dorg.slf4j.simpleLogger.defaultLogLevel=debug
তবে আমি তা কাজে লাগাতে পারিনি । আমি অনুমান করি এটির সাথে একমাত্র সমস্যা হ'ল ম্যাভেন ক্লাসপথের কনফিগারেশন ফাইল থেকে ডিফল্ট স্তরটি তুলবে। আমি System.properties এর মাধ্যমে আরও কয়েকটি সেটিংস চেষ্টা করেছিলাম তবে সেগুলি সবই ব্যর্থ হয়েছিল।
আপনি এখানে গিথুবে slf4j এর উত্স খুঁজে পেতে পারেন: slf4j github
সিম্পলগারটির উত্স এখানে: slf4j / jcl-over-slf4j / src / main / java / org / apache / commons / লগিং / ইমপ্ল / সরললগ.জভা
প্লেক্সাস লোডার লোড করে simplelogger.properties
।
simplelogger.properties
কাজ পরিবর্তন পেয়েছেন? আমি যখন যথাযথভাবে org.slf4j.simpleLogger.warnLevelString
সেটিংস mvn compile
আপডেটগুলি পরিবর্তন করি তবে এটি org.slf4j.simpleLogger.defaultLogLevel
সেটিংটিকে উপেক্ষা করছে বলে মনে হয় । সতর্কতা বা ত্রুটি হিসাবে সেট করার পরেও এটি তথ্য স্তরে লগ ইন করে।
mvn validate clean install | egrep -v "(^\[INFO\])"
অথবা
mvn validate clean install | egrep -v "(^\[INFO\]|^\[DEBUG\])"
mvn validate clean install | findstr /V /R "^\[INFO\] ^\[DEBUG\]"
mvn validate clean install | findstr /V /B "\[INFO\]" | findstr /V /B "\[WARN\]"
findstr
রেগেক্স এবং অন্যান্য বিকল্পগুলি এটি আরও সংক্ষিপ্ত করে তুলতে পারে - ss64.com/nt/findstr.html
mvn validate clean install | findstr /V /R "^\[INFO\] ^\[WARN\]"
উদাহরণস্বরূপ, আপনি MAVEN_OPTS এর মাধ্যমে এটি অর্জন করতে পারেন
MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=warn mvn clean
পরিবর্তে সিস্টেম সম্পত্তি সরাসরি কমান্ড লাইনে স্থাপন করা। (কমপক্ষে maven জন্য 3.3.1।)
আপনি যদি সমস্ত লভ্য দাওয়াত জুড়ে আপনার লগইনের জন্য লগিং পরিবর্তন করতে চান তবে ~/.mavenrc
সেটিংসের জন্য ব্যবহারের কথা বিবেচনা করুন MAVEN_OPTS
।
help:evaluate
লক্ষ্যটি প্রিন্ট করার জন্য চলমান project.version
এবং এই আউটপুটটি (যদিও এটি প্রদর্শিত হবে বলে মনে হয় না slf4j
) বন্ধ হয়ে যায়।
আপনি যদি লগব্যাক ব্যবহার করছেন তবে কেবল এই logback-test.xml
ফাইলটি src/test/resources
ডিরেক্টরিতে রেখে দিন:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
আপনি কমান্ডলাইনে নিজেই নীচে ব্যবহার করে এটি অর্জন করতে পারেন
-e for error
-X for debug
-q for only error
যেমন:
mvn test -X -DsomeProperties='SomeValue' [For Debug level Logs]
mvn test -e -DsomeProperties='SomeValue' [For Error level Logs]
mvn test -q -DsomeProperties='SomeValue' [For Only Error Logs]
দুর্ভাগ্যক্রমে, এমনকি maven 3 দিয়েও এটি করার একমাত্র উপায় হ'ল উত্স কোডটি প্যাচ করা।
কীভাবে এটি করা যায় সে সম্পর্কে এখানে সংক্ষিপ্ত নির্দেশনা দেওয়া হল।
ক্লোন বা কাঁটা মাভেন 3 রেপো: "গিট ক্লোন https://github.com/apache/maven-3.git "
Org.apache.maven.cli.MavenCli # লগিং সম্পাদনা করুন, এবং পরিবর্তন করুন
cliRequest.request.setLoggingLevel( MavenExecutionRequest.LOGGING_LEVEL_INFO );
প্রতি
cliRequest.request.setLoggingLevel( MavenExecutionRequest.LOGGING_LEVEL_WARN );
বর্তমান স্ন্যাপশট সংস্করণে এটি 270 লাইনে রয়েছে
তারপরে কেবল "এমভিএন ইনস্টল" চালান, আপনার নতুন মাভেন ডিস্ট্রো "অ্যাপাচি-ম্যাভেন \ টার্গেট folder" ফোল্ডারে অবস্থিত হবে
রেফারেন্সের জন্য এই পার্থক্যটি দেখুন: https://github.com/ushkinaz/maven-3/commit/cc079aa75ca8c82658c7ff53f18c6caaa32d2131
getLog()
- যদি আপনি কনফিগারেশনের সাথে থাকতে পারেন।
সবচেয়ে সহজ উপায় হ'ল ম্যাভেন ৩.৩.১ বা তার চেয়ে বেশি ${maven.projectBasedir}/.mvn/jvm.config
সমর্থনটি আপগ্রেড করা support
তারপরে আপনি মাগেনের এসএল 4 এফজে'র সিম্পলোগার সমর্থন থেকে যে কোনও বিকল্প ব্যবহার করতে পারবেন সমস্ত লগার বা নির্দিষ্ট লগার কনফিগার করতে। উদাহরণস্বরূপ, warn
পিএমডি যা লগ ইন করার জন্য কনফিগার করা হয়েছে তা বাদ দিয়ে স্তরে সমস্ত সতর্কতা কীভাবে করা যায় তা এখানে error
:
cat .mvn/jvm.config
-Dorg.slf4j.simpleLogger.defaultLogLevel=warn -Dorg.slf4j.simpleLogger.log.net.sourceforge.pmd=error
মাভেনের সাথে লগিং সম্পর্কিত আরও বিশদ জানতে এখানে দেখুন ।
-B, --batch-mode
বা কম ভার্বোস-q
তৈরি করবেmvn
।