2015-08-27 9 views
6

लॉग 4j में शून्य एपेंडर को कॉन्फ़िगर कैसे करें 1. * null appender class है, लेकिन मुझे log4j 2 के समतुल्य नहीं मिल सका। क्या कोई है? Log4j2.xml में एक नल एपेंडर को कैसे कॉन्फ़िगर करता है?लॉग 4j2

+0

आप किसी भी अन्य इस्तेमाल कर सकते हैं 'Appender' और बस एक' Filter' कि फिट बैठता है कभी नहीं है, उदाहरण के लिए एक के लिए जोड़ने के ' 'आपको इसके लिए वास्तव में क्या चाहिए? –

+0

यह वास्तविक शून्य ऐपेंडर नहीं है। –

उत्तर

3

Log4j2 संस्करण 2.7 के रूप में एक NullAppender क्लास है। पहले के संस्करणों में यह नहीं था। कॉन्फ़िगरेशन फ़ाइल में इसका नाम "शून्य" है। यह बहुत तरह Appenders सूची में जोड़ा जा सकता है:

<Appenders> 
    <Null name="arbritrary_name" /> 
</Appenders> 
1

NullAppendar मूल रूप से AppenderSkeleton का उपयोग बेस श्रेणी के रूप में, एपेंडर इंटरफ़ेस का लगभग (लगभग) empty implementation था। Log4j2 में ऐसा करना मामूली है, लेकिन आपको इसे बनाने के लिए कुछ बॉयलरप्लेट कोड की आवश्यकता होगी, अपाचे दस्तावेज़ custom appenders पर देखें।

@Plugin(name = "NullAppender", category = "Core", elementType = "appender", printObject = true) 
public class NullAppender extends AbstractAppender { 

    private static final long serialVersionUID = -701612541126635333L; 

    private NullAppender(String name, Filter filter, Layout<? extends Serializable> layout) { 
     super(name, filter, layout);  
    } 

    @Override 
    public void append(LogEvent event) { 
     // do exactly nothing 
    } 

    // blatantly stolen from the Apache doc, all errors (C) by me 
    @PluginFactory 
    public static NullAppender createAppender(@PluginAttribute("name") String name, 
               @PluginElement("Layout") Layout layout, 
               @PluginElement("Filters") Filter filter) { 

     if (name == null) { 
      LOGGER.error("No name provided for NullAppender"); 
      return null; 
     } 

     if (layout == null) { 
      layout = PatternLayout.createDefaultLayout(); 
     } 
     return new NullAppender(name, filter, layout); 
    } 

} 
2

CountingNoOp एपेंडर का उपयोग करें।

<Appenders> 
    <CountingNoOp name="DEV_NULL" /> 
</Appenders> 
+0

संस्करण 2.6.1 शुरू हो रहा है – mcoolive

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