2015-08-27 25 views
6

Log4j 1. * 'da bir null appender class var, ancak log4j 2'de eşdeğerini bulamadım. Bir tane var mı? Bir logogj2.xml içinde bir null appender nasıl yapılandırılır?null ekleyicisini, log4j2

+0

Sen örnek a için, uyan asla bir 'Filter' eklemek basitçe Appender'' başka kullanıp, '' Tam olarak bunun için ne gerekiyor? –

+0

Bu gerçek boş bir eklenti değil. –

cevap

3

Log4j2 sürüm 2.7'den itibaren bir NullAppender sınıfı var. Önceki sürümler, sahip olmadı. Yapılandırma dosyasında kullandığı ad "Boş". O şöyle Appenders listeye eklenebilir:

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

NullAppendar temel olarak AppenderSkeleton temel sınıf olarak kullanılarak Appender arabiriminin empty implementation temelidir. Log4j2'de aynı şeyi yapmak önemsizdir, ancak çalışmasını sağlamak için bazı boilerplate kodlarına ihtiyacınız olacaktır, custom appenders adresindeki Apache belgelerine bakın.

@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 ekleyicisini kullanın.

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

Başlangıç ​​sürümü 2.6.1 – mcoolive

İlgili konular