Le NullAppender ne fait fondamentalement rien, comme d'autres l'ont déjà fait remarquer. Je voulais juste mettre en page quelques détails.
AppenderSkeleton implements Appender {
...
@Override
public synchronized void doAppend(LoggingEvent event) {
...
}
...
abstract protected void append(LoggingEvent event);
}
public class NullAppender extends AppenderSkeleton {
public static String s;
public String t;
...
@Override
public void doAppend(LoggingEvent event) {
if(layout != null) {
t = layout.format(event);
s = t;
}
}
@Override
public void append(LoggingEvent event) {
}
Voir aussi: Source-NullAppender & Source-AppenderSkeleton
Que se passe à chaque log.trace/debug/... appel est
-> org.apache.log4j.Category.forcedLog(String fqcn, Priority level, Object message, Throwable t)
-> org.apache.log4j.Category.callAppenders(LoggingEvent event)
-> org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(LoggingEvent event) is called on each Appender within that Logger
-> org.apache.log4j.Appender.doAppend(LoggingEvent event)
which is NullPointers implementation of doAppend in this case.
Comme vous le voyez, le NullAppender enlève la synchronisation, NullAppender.doAppend produit un certain temps système, mais il est très faible dans la plupart des scénarios.
Comme pour JDBCAppender il ne doit pas être utilisé.
WARNING: This version of JDBCAppender
is very likely to be completely replaced in the future. Moreoever,
it does not log exceptions.
Voir: JDBC-Appender-Source Ligne 34-36
En tant alternatif vous pouvez consulter clusterlog
Eh bien, je n'étais pas trop optimiste à ce sujet non plus :) mais merci quand même. – Annjawn
@Annjawn Si vous avez vraiment besoin de vous connecter à votre base de données, votre meilleur pari est probablement de [lancer le vôtre] (http://logging.apache.org/log4j/2.x/manual/extending.html#Appenders), soit en étendant un existant, soit en implémentant simplement l'interface Appender. – CCC
Ouais, j'aurais pensé le faire mais pour l'instant je suis content de la console et des extensions de fichiers. – Annjawn