Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The <b>NullAppender</b> basically does nothing, like others have already pointed out. I just wanted to layout some details.</p> <pre> 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) { } </pre> <p>See also: <a href="http://javasourcecode.org/html/open-source/log4j/log4j-1.2.8/org/apache/log4j/performance/NullAppender.java.html#line.48" rel="nofollow">Source-NullAppender</a> &amp; <a href="http://javasourcecode.org/html/open-source/log4j/log4j-1.2.8/org/apache/log4j/AppenderSkeleton.java.html" rel="nofollow">Source-AppenderSkeleton</a></p> <p>What happens at each and every log.trace/debug/... call is </p> <pre> -> 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. </pre> <p>As you see, the NullAppender takes away the synchronization, NullAppender.doAppend produces some overhead, but it is very little in most scenarios. </p> <p>As for <b>JDBCAppender</b> it should not be used.</p> <pre> <b>WARNING: This version of JDBCAppender is very likely to be completely replaced in the future. Moreoever, it does not log exceptions</b>. </pre> <p>See: <a href="http://www.docjar.com/html/api/org/apache/log4j/jdbc/JDBCAppender.java.html" rel="nofollow">JDBC-Appender-Source</a> Line 34-36</p> <p>As an <b>alternative</b> you might want to check out <a href="http://www.clusterlog.net" rel="nofollow">clusterlog</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload