2012-07-05 9 views

उत्तर

9

log4net इसका समर्थन नहीं करता है। हालांकि आप IFilter इंटरफ़ेस या FilterSkeleton कक्षा (log4net.Filter नामस्थान में दोनों) से प्राप्त करके अपने स्वयं के फ़िल्टर को आसानी से कार्यान्वित कर सकते हैं।

public class ExceptionTypeFilter : FilterSkeleton 
{ 
    override public FilterDecision Decide(LoggingEvent loggingEvent) 
    { 
      var ex = loggingEvent.ExceptionObject as YourExceptionType; 
      return (ex != null) ? FilterDecision.Accept : FilterDecision.Deny;   
    } 
} 

यह फिल्टर आप तो एक नियमित रूप से फिल्टर की तरह उपयोग कर सकते हैं:

कुछ इस तरह चाल करना चाहिए। आगे के संदर्भ के लिए आप मानक log4net फ़िल्टर के स्रोत कोड को देख सकते हैं।

+0

यह कोड केवल आपके विशिष्ट अपवाद प्रकार को लॉग करेगा। यदि आप एक विशिष्ट अपवाद को फ़िल्टर करना चाहते हैं, तो आप स्वीकार कर सकते हैं और अस्वीकार कर सकते हैं। फ़िल्टरडिशन। स्वीकार करें इसका मतलब है लॉग इन करें। इनकार करना मतलब है कि इसे लॉग न करें। शायद स्पष्ट है, लेकिन मुझे सोचने के लिए एक मिनट लगा। :) – scw

+0

और यदि आपके पास एक से अधिक फ़िल्टर हैं, तो आपको FilterDecision.Neutral का उपयोग करने की आवश्यकता हो सकती है। – scw

संबंधित मुद्दे