কীভাবে একজন দ্রুত একটি ফাইল ব্যবহার করে সমস্ত লগ 4 জে আউটপুট বন্ধ করতে পারেন log4j.properties
?
কীভাবে একজন দ্রুত একটি ফাইল ব্যবহার করে সমস্ত লগ 4 জে আউটপুট বন্ধ করতে পারেন log4j.properties
?
উত্তর:
আপনি যদি প্রোগ্রামগতভাবে লগিং বন্ধ করতে চান তবে ব্যবহার করুন
List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers());
loggers.add(LogManager.getRootLogger());
for ( Logger logger : loggers ) {
logger.setLevel(Level.OFF);
}
log4j.rootLogger=OFF
আপনি স্তরটি অফে অফ করতে পারেন যা সমস্ত লগিং থেকে মুক্তি পাওয়া উচিত। লগ 4 জে ওয়েবসাইট অনুসারে, গুরুত্বের ভিত্তিতে বৈধ স্তরগুলি হ'ল ট্র্যাক, ডিইবিইউজি, ইনফো, সতর্কতা, ত্রুটি F নেই এক অনথিভুক্ত স্তর অফ নামক মারাত্মক চেয়ে একটি উচ্চ স্তরের, এবং সব লগিং বন্ধ হয়ে যাবে।
কিছুই লগ (অতিরিক্ত স্তর) লগ করতে আপনি অতিরিক্ত রুট লগার তৈরি করতে পারেন, যাতে আপনি সহজেই রুট লগারগুলি স্যুইচ করতে পারেন। আপনাকে এটি শুরু করতে এখানে একটি পোস্ট ।
আপনি লগ 4 জ এফএকিউও পড়তে চাইতে পারেন , কারণ আমার ধারণা যে সমস্ত লগিং বন্ধ করা কোনও কাজে না পারে। এটি অবশ্যই আপনার অ্যাপ্লিকেশনটিকে তত বেশি গতি দেয় না, কারণ লগিং কোড যেভাবেই কার্যকর করা হয়, সেই বিন্দু পর্যন্ত যেখানে log4j সিদ্ধান্ত নেয় যে এই প্রবেশটিতে লগ করার দরকার নেই।
আপনি যা চান তার স্তর পরিবর্তন করুন। (আমি লগ 4 জ 2, সংস্করণ 2.6.2 ব্যবহার করছি)। এটি সহজতম উপায়, পরিবর্তন করুন<Root level="off">
উদাহরণস্বরূপ: ফাইল log4j2.xml
বিকাশের পরিবেশ
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Console name="SimpleConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
<Loggers>
<Root level="info">
<AppenderRef ref="SimpleConsole"/>
</Root>
</Loggers>
</Configuration>
উৎপাদন পরিবেশ
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Console name="SimpleConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="off">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
<Loggers>
<Root level="off">
<AppenderRef ref="SimpleConsole"/>
</Root>
</Loggers>
</Configuration>
এছাড়াও, প্রোগ্রামগতভাবে লগিং বন্ধ করাও সম্ভব:
Logger.getRootLogger().setLevel(Level.OFF);
বা
Logger.getRootLogger().removeAllAppenders();
Logger.getRootLogger().addAppender(new NullAppender());
এই ব্যবহার আমদানি:
import org.apache.log4j.Logger;
import org.apache.log4j.Level;
import org.apache.log4j.NullAppender;