Log4j 1. * ha un null appender class, ma non ho trovato l'equivalente in log4j 2. È presente? Come si configura un appender null in log4j2.xml?Come configurare l'appender nullo in log4j2
risposta
Esiste una classe NullAppender a partire da Log4j2 versione 2.7. Le versioni precedenti non ce l'avevano. Il nome che usa nel file di configurazione è "Null". Può essere aggiunto all'elenco appenders in questo modo:
<Appenders>
<Null name="arbritrary_name" />
</Appenders>
NullAppendar era fondamentalmente un (quasi) empty implementation dell'interfaccia di Appender, utilizzando lo AppenderSkeleton come classe base. Fare lo stesso in Log4j2 è banale, ma avrai bisogno di qualche codice per farlo funzionare, vedi la documentazione di Apache al numero 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);
}
}
Utilizzare l'appender CountingNoOp.
<Appenders>
<CountingNoOp name="DEV_NULL" />
</Appenders>
Avvio della versione 2.6.1 – mcoolive
- 1. Come configurare gli appendici o inizializzare la registrazione in log4j2 in modo programmatico?
- 2. log4j2: Includi PID
- 3. Come personalizzare log4j2 RollingFileAppender?
- 4. Registrazione Spring-Boot con log4j2?
- 5. Come sopprimere i messaggi duplicati in log4j2
- 6. In Log4j2, come si associa uno schema XML con log4j2.xml?
- 7. Logging Spring con Log4j2
- 8. Log4j2 SyslogAppender non funziona
- 9. Utilizzo di un file XML (log4j2.xml) per configurare Log4j 2
- 10. Come usare log4j2 Commons Logging Bridge
- 11. Come eliminare i vecchi registri con log4j2
- 12. Come mascherare i messaggi di log log4j2
- 13. Filtra per nome classe in log4j2
- 14. Impostazione strategia di rollover in log4j2.properties
- 15. Log4j2 incluso nome libreria in stacktrace
- 16. Log4j2 log hibernate parameters binding
- 17. Come implementare il layout personalizzato del modello in log4j2
- 18. parametro specificato come non nullo è nullo in ArrayAdaper
- 19. Come eseguire WildFly-8.x con log4j2 e slf4j
- 20. come configurare https in sails.js
- 21. Come configurare glib in Makefile?
- 22. come configurare JDBC in Eclipse?
- 23. Come configurare maxEntriesLocalHeap in ehcache?
- 24. come configurare meno in eclissi?
- 25. Come configurare hbase in spark?
- 26. Log4J2 - assegnazione file nomefile appender al runtime
- 27. Log4J2 - Come disabilitare la registrazione del test dell'unità?
- 28. Come includere i messaggi Log4j2 nei report TestNG
- 29. Ottenere log4j2 per funzionare con eclissi
- 30. Log4j2 (2.1) plug-in personalizzato non rilevato dall'attributo packages
è possibile utilizzare qualsiasi altro 'Appender' e semplicemente aggiungere un' filter' che non si adatta, ad esempio, un ' ' A cosa ti serve esattamente? –
Questo non è un vero appender nullo. –