यह log4j में स्वचालित रूप से काम करता है अगर तुम वालों के लिए नामकरण परंपरा का पालन करें। अपने कोड में, अपने वर्ग के नाम के साथ वालों की घोषणा:
Logger logger = LogManager.getLogger(MyClass.class);
लकड़हारा स्वचालित रूप से नाम fully.qualified.class.name.of.MyClass
असाइन किया गया है।
छनन
नीचे दिए गए उदाहरण लॉग फिल्टर करने के लिए कैसे पता चलता है: अब, अपने विन्यास में आप क्या करने की छानने और रूटिंग इस पूरी तरह से योग्य नाम (या पैकेज नाम या पैकेज का पहला हिस्सा) का उपयोग कर सकते लॉगिंग करने वाले वर्ग के पैकेज के आधार पर घटनाएं: पैकेज में कक्षाओं द्वारा सभी DEBUG और TRACE स्तर लॉग ईवेंट com.other.company
को अनदेखा कर दिया जाएगा, और पैकेज में कक्षाओं के लिए com.another.project
केवल त्रुटि और FATAL लॉगिंग शामिल की जाएगी।
<Configuration status="warn">
<Appenders>
<File name="MyFile" fileName="logs/my.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</File>
</Appenders>
<Loggers>
<!-- drops all DEBUG and TRACE logging done by any class in this package -->
<Logger name="com.other.company" level="INFO" />
<!-- log only ERROR and FATAL logging by classes in this package -->
<Logger name="com.another.project" level="ERROR" />
<!-- by default, all log events are written to MyFile -->
<Root level="trace">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
रूटिंग
नीचे उदाहरण दिखाता है कि मार्ग लॉग ईवेंट को अलग करने के लिए लॉग इन करें वर्ग प्रवेश करने का पैकेज के आधार पर फ़ाइलों के लिए: पैकेज com.other.company
में वर्गों द्वारा सभी प्रवेश के लिए लिखा नहीं की जाएगी my.log
केवल other.log
तक।
<Configuration status="warn">
<Appenders>
<File name="MyFile" fileName="logs/my.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</File>
<File name="OtherFile" fileName="logs/other.log">
<PatternLayout pattern="%d %p %c{1.} [%t] %m%n" />
</File>
</Appenders>
<Loggers>
<!-- all logging from this package and subpackages goes to OtherFile -->
<!-- Note: set additivity=false or logging will also go to the root logger -->
<Logger name="com.other.company" additivity="false">
<AppenderRef ref="OtherFile"/>
</Logger>
<Root level="trace">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
स्रोत
2017-01-21 12:46:25