2011-07-06 10 views
6

मैं log4j (जैसे net.sf.cglib.* और org.springframework.*) का उपयोग करके स्टैक निशान से कुछ लाइनों को फ़िल्टर करना चाहता हूं। क्या इसे log4j के साथ कॉन्फ़िगर करना संभव है?मैं लॉग 4j स्टैक ट्रेस से कुछ लाइनों को कैसे फ़िल्टर करूं?

ग्रहण में जूनिट प्लगइन आपको फ़िल्टर जोड़ने की अनुमति देता है जो जूनिट टैब में प्रदर्शित स्टैक निशान को संशोधित करता है, लेकिन यह कंसोल पर स्टैक निशान आउटपुट को नहीं बदलता है।

+0

आप सामान्य log4j.properties या एक्सएमएल आधुनिक नहीं कर सकते फाइल? आप – davidfrancis

+0

का उपयोग कर कॉन्फ़िगरेशन फ़ाइल को ढूंढने के लिए -Dlog4j.debug जोड़ सकते हैं ओह क्षमा करें स्टैक निशान, बस प्रश्न को ठीक से पढ़ें। खुद को कभी नहीं किया – davidfrancis

उत्तर

2

उपयोग इस छानने लेआउट log4j ऐड-ऑन: http://www.openmindlab.com/lab/tools/openutilslog4j/layout.html

वे उस पृष्ठ पर log4j.xml साथ एक उदाहरण है। बस log4j PatternLayout के बजाय it.openutils.log4j.FilteredPatternLayout का उपयोग करें, और उसके बाद की तरह

<param name="Filter" value="net.sf.cglib"/> 
    <param name="Filter" value="org.springframework"/> 
नीचे

कुछ प्रविष्टियों डाल दिया।

1

मैंने अभी एक ओपन सोर्स लाइब्रेरी प्रकाशित की है जो स्टैकट्रैक को बहुत अच्छी तरह से फ़िल्टर करता है। http://www.coderanch.com/t/661077/blogs/Open-Source-Java-library-stacktrace#3068017 इसके अलावा यहाँ है सूत्रों के एक GitHub लिंक: https://github.com/michaelgantman/Mgnt यहाँ है Maven यह dependenciesfor और: यहाँ पुस्तकालय के बारे में एक संक्षिप्त लेख के लिए लिंक है

<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
</dependency> 
<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
<classifier>javadoc</classifier> 
</dependency> 
<dependency> 
<groupId>com.github.michaelgantman</groupId> 
<artifactId>MgntUtils</artifactId> 
<version>1.04</version> 
<classifier>sources</classifier> 
</dependency> 
संबंधित मुद्दे