logging-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nickwilli...@apache.org
Subject svn commit: r1505209 [1/2] - in /logging/log4j/log4j2/trunk: core/src/main/java/org/apache/logging/log4j/core/ core/src/main/java/org/apache/logging/log4j/core/appender/ core/src/main/java/org/apache/logging/log4j/core/appender/db/ core/src/main/java/o...
Date Sat, 20 Jul 2013 21:16:46 GMT
Author: nickwilliams
Date: Sat Jul 20 21:16:45 2013
New Revision: 1505209

URL: http://svn.apache.org/r1505209
Log:
Changed the "suppressExceptions" configuration attribute for all Appenders to "ignoreExceptions" to avoid confusion with Java 7 suppressed exceptions. Also renamed the Appender#isExceptionSuppressed() method to Appender#ignoreExceptions() to avoid the same confusion.

Modified:
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/Appender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AppenderLoggingException.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastRollingFileAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSQueueAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSTopicAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SMTPAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JDBCAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/NoSQLAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Booleans.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/jmx/AppenderAdmin.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
    logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/pattern/PatternParser.java
    logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
    logging/log4j/log4j2/trunk/core/src/test/resources/FlumeFuncTest.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-advertiser.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-failover.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-jmsqueue-failover.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-jmstopic-failover.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-socket.xml
    logging/log4j/log4j2/trunk/core/src/test/resources/log4j-socket2.xml
    logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeAppender.java
    logging/log4j/log4j2/trunk/flume-ng/src/test/resources/default_embedded.xml
    logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml
    logging/log4j/log4j2/trunk/flume-ng/src/test/resources/persistent.xml
    logging/log4j/log4j2/trunk/samples/flume-embedded/src/main/resources/log4j-embedded.xml
    logging/log4j/log4j2/trunk/samples/flume-remote/src/main/resources/log4j-remote.xml
    logging/log4j/log4j2/trunk/src/changes/changes.xml
    logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml
    logging/log4j/log4j2/trunk/src/site/xdoc/manual/configuration.xml.vm
    logging/log4j/log4j2/trunk/src/site/xdoc/manual/extending.xml

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/Appender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/Appender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/Appender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/Appender.java Sat Jul 20 21:16:45 2013
@@ -50,13 +50,14 @@ public interface Appender<T extends Seri
     Layout<T> getLayout();
 
     /**
-     * If set to true any exceptions thrown by the Appender will be logged but not thrown.
-     * @return true if Exceptions should be suppressed, false otherwise.
+     * Some appenders need to propagate exceptions back to the application. When {@code ignoreExceptions} is
+     * {@code false} the AppenderControl will allow the exception to percolate.
+     *
+     * @return {@code true} if exceptions will be logged but now thrown, {@code false} otherwise.
      */
-    boolean isExceptionSuppressed();
+    boolean ignoreExceptions();
 
     ErrorHandler getHandler();
 
     void setHandler(ErrorHandler handler);
-
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java Sat Jul 20 21:16:45 2013
@@ -41,7 +41,7 @@ public abstract class AbstractAppender<T
      */
     protected static final Logger LOGGER = StatusLogger.getLogger();
 
-    private final boolean handleException;
+    private final boolean ignoreExceptions;
 
     private ErrorHandler handler = new DefaultErrorHandler(this);
 
@@ -78,15 +78,15 @@ public abstract class AbstractAppender<T
      * @param name The Appender name.
      * @param filter The Filter to associate with the Appender.
      * @param layout The layout to use to format the event.
-     * @param handleException If true, exceptions will be logged and suppressed. If false errors will be
+     * @param ignoreExceptions If true, exceptions will be logged and suppressed. If false errors will be
      * logged and then passed to the application.
      */
     protected AbstractAppender(final String name, final Filter filter, final Layout<T> layout,
-                               final boolean handleException) {
+                               final boolean ignoreExceptions) {
         super(filter);
         this.name = name;
         this.layout = layout;
-        this.handleException = handleException;
+        this.ignoreExceptions = ignoreExceptions;
     }
 
     /**
@@ -144,13 +144,14 @@ public abstract class AbstractAppender<T
     }
 
     /**
-     * Some appenders need to propagate exceptions back to the application. When suppressException is false the
-     * AppenderControl will allow the exception to percolate.
-     * @return true if exceptions will be suppressed, false otherwise.
+     * Some appenders need to propagate exceptions back to the application. When {@code ignoreExceptions} is
+     * {@code false} the AppenderControl will allow the exception to percolate.
+     *
+     * @return {@code true} if exceptions will be logged but now thrown, {@code false} otherwise.
      */
     @Override
-    public boolean isExceptionSuppressed() {
-        return handleException;
+    public boolean ignoreExceptions() {
+        return ignoreExceptions;
     }
 
     /**

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java Sat Jul 20 21:16:45 2013
@@ -58,9 +58,9 @@ public abstract class AbstractOutputStre
      * @param manager The OutputStreamManager.
      */
     protected AbstractOutputStreamAppender(final String name, final Layout<T> layout, final Filter filter,
-                                           final boolean handleException, final boolean immediateFlush,
+                                           final boolean ignoreExceptions, final boolean immediateFlush,
                                            final OutputStreamManager manager) {
-        super(name, filter, layout, handleException);
+        super(name, filter, layout, ignoreExceptions);
         this.manager = manager;
         this.immediateFlush = immediateFlush;
     }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AppenderLoggingException.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AppenderLoggingException.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AppenderLoggingException.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AppenderLoggingException.java Sat Jul 20 21:16:45 2013
@@ -26,7 +26,7 @@ import org.apache.logging.log4j.LoggingE
  * features like the {@link FailoverAppender} work properly.
  *
  * Also note that appenders <em>must</em> provide a way to suppress exceptions when the user desires and abide by
- * that instruction. See {@link org.apache.logging.log4j.core.Appender#isExceptionSuppressed()}, which is the standard
+ * that instruction. See {@link org.apache.logging.log4j.core.Appender#ignoreExceptions()}, which is the standard
  * way to do this.
  */
 public class AppenderLoggingException extends LoggingException {

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java Sat Jul 20 21:16:45 2013
@@ -36,7 +36,6 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.helpers.Booleans;
-import org.apache.logging.log4j.core.helpers.Integers;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 
 /**
@@ -64,9 +63,9 @@ public final class AsyncAppender<T exten
 
     private AsyncAppender(final String name, final Filter filter, final AppenderRef[] appenderRefs,
                            final String errorRef, final int queueSize, final boolean blocking,
-                           final boolean handleExceptions, final Configuration config,
+                           final boolean ignoreExceptions, final Configuration config,
                            final boolean includeLocation) {
-        super(name, filter, null, handleExceptions);
+        super(name, filter, null, ignoreExceptions);
         this.queue = new ArrayBlockingQueue<Serializable>(queueSize);
         this.blocking = blocking;
         this.config = config;
@@ -159,8 +158,8 @@ public final class AsyncAppender<T exten
      * @param includeLocation whether to include location information. The default is false.
      * @param filter The Filter or null.
      * @param config The Configuration.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The actual type of the Serializable.
      * @return The AsyncAppender.
      */
@@ -174,7 +173,7 @@ public final class AsyncAppender<T exten
                 @PluginAttr("includeLocation") final String includeLocation,
                 @PluginElement("filter") final Filter filter,
                 @PluginConfiguration final Configuration config,
-                @PluginAttr("suppressExceptions") final String suppress) {
+                @PluginAttr("ignoreExceptions") final String ignore) {
         if (name == null) {
             LOGGER.error("No name provided for AsyncAppender");
             return null;
@@ -186,10 +185,10 @@ public final class AsyncAppender<T exten
         final boolean isBlocking = Booleans.parseBoolean(blocking, true);
         final int queueSize = AbstractAppender.parseInt(size, DEFAULT_QUEUE_SIZE);        
         final boolean isIncludeLocation = Boolean.parseBoolean(includeLocation);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
         return new AsyncAppender<S>(name, filter, appenderRefs, errorRef,
-                queueSize, isBlocking, handleExceptions, config, isIncludeLocation);
+                queueSize, isBlocking, ignoreExceptions, config, isIncludeLocation);
     }
 
     /**

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java Sat Jul 20 21:16:45 2013
@@ -64,8 +64,8 @@ public final class ConsoleAppender<T ext
 
     private ConsoleAppender(final String name, final Layout<T> layout, final Filter filter,
                             final OutputStreamManager manager,
-                            final boolean handleExceptions) {
-        super(name, layout, filter, handleExceptions, true, manager);
+                            final boolean ignoreExceptions) {
+        super(name, layout, filter, ignoreExceptions, true, manager);
     }
 
     /**
@@ -75,8 +75,8 @@ public final class ConsoleAppender<T ext
      * @param t The target ("SYSTEM_OUT" or "SYSTEM_ERR"). The default is "SYSTEM_OUT".
      * @param follow If true will follow changes to the underlying output stream.
      * @param name The name of the Appender (required).
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     *                 The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The {@link Layout}'s {@link Serializable} type.
      * @return The ConsoleAppender.
      */
@@ -86,7 +86,7 @@ public final class ConsoleAppender<T ext
                                                  @PluginAttr("target") final String t,
                                                  @PluginAttr("name") final String name,
                                                  @PluginAttr("follow") final String follow,
-                                                 @PluginAttr("suppressExceptions") final String suppress) {
+                                                 @PluginAttr("ignoreExceptions") final String ignore) {
         if (name == null) {
             LOGGER.error("No name provided for ConsoleAppender");
             return null;
@@ -98,9 +98,9 @@ public final class ConsoleAppender<T ext
             layout = l;
         }
         final boolean isFollow = Boolean.parseBoolean(follow);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final Target target = t == null ? Target.SYSTEM_OUT : Target.valueOf(t);
-        return new ConsoleAppender<S>(name, layout, filter, getManager(isFollow, target, layout), handleExceptions);
+        return new ConsoleAppender<S>(name, layout, filter, getManager(isFollow, target, layout), ignoreExceptions);
     }
 
     private static OutputStreamManager getManager(final boolean follow, final Target target, final Layout layout) {

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java Sat Jul 20 21:16:45 2013
@@ -69,7 +69,7 @@ public class DefaultErrorHandler impleme
             LOGGER.error(msg, t);
         }
         lastException = current;
-        if (!appender.isExceptionSuppressed() && t != null && !(t instanceof AppenderLoggingException)) {
+        if (!appender.ignoreExceptions() && t != null && !(t instanceof AppenderLoggingException)) {
             throw new AppenderLoggingException(msg, t);
         }
     }
@@ -87,7 +87,7 @@ public class DefaultErrorHandler impleme
             LOGGER.error(msg, t);
         }
         lastException = current;
-        if (!appender.isExceptionSuppressed() && t != null && !(t instanceof AppenderLoggingException)) {
+        if (!appender.ignoreExceptions() && t != null && !(t instanceof AppenderLoggingException)) {
             throw new AppenderLoggingException(msg, t);
         }
     }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java Sat Jul 20 21:16:45 2013
@@ -64,8 +64,8 @@ public final class FailoverAppender<T ex
     private volatile boolean failure = false;
 
     private FailoverAppender(final String name, final Filter filter, final String primary, final String[] failovers,
-                             final int intervalMillis, final Configuration config, final boolean handleExceptions) {
-        super(name, filter, null, handleExceptions);
+                             final int intervalMillis, final Configuration config, final boolean ignoreExceptions) {
+        super(name, filter, null, ignoreExceptions);
         this.primaryRef = primary;
         this.failovers = failovers;
         this.config = config;
@@ -148,7 +148,7 @@ public final class FailoverAppender<T ex
                 }
             }
         }
-        if (!written && !isExceptionSuppressed()) {
+        if (!written && !ignoreExceptions()) {
             if (re != null) {
                 throw re;
             } else {
@@ -181,8 +181,8 @@ public final class FailoverAppender<T ex
      * @param retryIntervalString The retry intervalMillis.
      * @param config The current Configuration (passed by the Configuration when the appender is created).
      * @param filter A Filter (optional).
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     *                 The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The {@link org.apache.logging.log4j.core.Layout}'s {@link Serializable} type.
      * @return The FailoverAppender that was created.
      */
@@ -193,7 +193,7 @@ public final class FailoverAppender<T ex
                                                   @PluginAttr("retryInterval") final String retryIntervalString,
                                                   @PluginConfiguration final Configuration config,
                                                   @PluginElement("filters") final Filter filter,
-                                                  @PluginAttr("suppressExceptions") final String suppress) {
+                                                  @PluginAttr("ignoreExceptions") final String ignore) {
         if (name == null) {
             LOGGER.error("A name for the Appender must be specified");
             return null;
@@ -216,8 +216,8 @@ public final class FailoverAppender<T ex
             retryIntervalMillis = DEFAULT_INTERVAL_SECONDS * Constants.MILLIS_IN_SECONDS;
         }
 
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
-        return new FailoverAppender<S>(name, filter, primary, failovers, retryIntervalMillis, config, handleExceptions);
+        return new FailoverAppender<S>(name, filter, primary, failovers, retryIntervalMillis, config, ignoreExceptions);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileAppender.java Sat Jul 20 21:16:45 2013
@@ -46,9 +46,9 @@ public final class FastFileAppender<T ex
     private final Advertiser advertiser;
 
     private FastFileAppender(final String name, final Layout<T> layout, final Filter filter,
-            final FastFileManager manager, final String filename, final boolean handleException,
+            final FastFileManager manager, final String filename, final boolean ignoreExceptions,
             final boolean immediateFlush, final Advertiser advertiser) {
-        super(name, layout, filter, handleException, immediateFlush, manager);
+        super(name, layout, filter, ignoreExceptions, immediateFlush, manager);
         if (advertiser != null) {
             final Map<String, String> configuration = new HashMap<String, String>(
                     layout.getContentFormat());
@@ -107,8 +107,8 @@ public final class FastFileAppender<T ex
      * @param name The name of the Appender.
      * @param immediateFlush "true" if the contents should be flushed on every
      *            write, "false" otherwise. The default is "true".
-     * @param suppress "true" if exceptions should be hidden from the
-     *            application, "false" otherwise. The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param layout The layout to use to format the event. If no layout is
      *            provided the default PatternLayout will be used.
      * @param filter The filter, if any, to use.
@@ -126,7 +126,7 @@ public final class FastFileAppender<T ex
             @PluginAttr("append") final String append,
             @PluginAttr("name") final String name,
             @PluginAttr("immediateFlush") final String immediateFlush,
-            @PluginAttr("suppressExceptions") final String suppress,
+            @PluginAttr("ignoreExceptions") final String ignore,
             @PluginElement("layout") Layout<S> layout,
             @PluginElement("filters") final Filter filter,
             @PluginAttr("advertise") final String advertise,
@@ -135,7 +135,7 @@ public final class FastFileAppender<T ex
 
         final boolean isAppend = Booleans.parseBoolean(append, true);
         final boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);
 
         if (name == null) {
@@ -154,13 +154,16 @@ public final class FastFileAppender<T ex
             Layout<S> l = (Layout<S>) PatternLayout.createLayout(null, null, null, null, null);
             layout = l;
         }
-        final FastFileManager manager = FastFileManager.getFileManager(fileName, isAppend, isFlush, advertiseURI, layout);
+        final FastFileManager manager = FastFileManager.getFileManager(
+                fileName, isAppend, isFlush, advertiseURI, layout
+        );
         if (manager == null) {
             return null;
         }
 
-        return new FastFileAppender<S>(name, layout, filter, manager, fileName,
-                handleExceptions, isFlush, isAdvertise ? config.getAdvertiser()
-                        : null);
+        return new FastFileAppender<S>(
+                name, layout, filter, manager, fileName, ignoreExceptions, isFlush,
+                isAdvertise ? config.getAdvertiser() : null
+        );
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastRollingFileAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastRollingFileAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastRollingFileAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastRollingFileAppender.java Sat Jul 20 21:16:45 2013
@@ -54,9 +54,9 @@ public final class FastRollingFileAppend
 
     private FastRollingFileAppender(final String name, final Layout<T> layout,
             final Filter filter, final RollingFileManager manager, final String fileName,
-            final String filePattern, final boolean handleException,
+            final String filePattern, final boolean ignoreExceptions,
             final boolean immediateFlush, final Advertiser advertiser) {
-        super(name, layout, filter, handleException, immediateFlush, manager);
+        super(name, layout, filter, ignoreExceptions, immediateFlush, manager);
         if (advertiser != null) {
             final Map<String, String> configuration = new HashMap<String, String>(
                     layout.getContentFormat());
@@ -132,8 +132,8 @@ public final class FastRollingFileAppend
      *            DefaultRolloverStrategy.
      * @param layout The layout to use (defaults to the default PatternLayout).
      * @param filter The Filter or null.
-     * @param suppress "true" if exceptions should be hidden from the
-     *            application, "false" otherwise. The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param advertise "true" if the appender configuration should be
      *            advertised, "false" otherwise.
      * @param advertiseURI The advertised URI which can be used to retrieve the
@@ -153,13 +153,13 @@ public final class FastRollingFileAppend
             @PluginElement("strategy") RolloverStrategy strategy,
             @PluginElement("layout") Layout<S> layout,
             @PluginElement("filter") final Filter filter,
-            @PluginAttr("suppressExceptions") final String suppress,
+            @PluginAttr("ignoreExceptions") final String ignore,
             @PluginAttr("advertise") final String advertise,
             @PluginAttr("advertiseURI") final String advertiseURI,
             @PluginConfiguration final Configuration config) {
 
         final boolean isAppend = Booleans.parseBoolean(append, true);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);
 
@@ -205,7 +205,7 @@ public final class FastRollingFileAppend
         }
 
         return new FastRollingFileAppender<S>(name, layout, filter, manager,
-                fileName, filePattern, handleExceptions, isFlush,
+                fileName, filePattern, ignoreExceptions, isFlush,
                 isAdvertise ? config.getAdvertiser() : null);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java Sat Jul 20 21:16:45 2013
@@ -45,9 +45,9 @@ public final class FileAppender<T extend
     private Object advertisement;
 
     private FileAppender(final String name, final Layout<T> layout, final Filter filter, final FileManager manager,
-                         final String filename, final boolean handleException, final boolean immediateFlush,
+                         final String filename, final boolean ignoreExceptions, final boolean immediateFlush,
                          final Advertiser advertiser) {
-        super(name, layout, filter, handleException, immediateFlush, manager);
+        super(name, layout, filter, ignoreExceptions, immediateFlush, manager);
         if (advertiser != null) {
             final Map<String, String> configuration = new HashMap<String, String>(layout.getContentFormat());
             configuration.putAll(manager.getContentFormat());
@@ -84,8 +84,8 @@ public final class FileAppender<T extend
      * @param name The name of the Appender.
      * @param immediateFlush "true" if the contents should be flushed on every write, "false" otherwise. The default
      * is "true".
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param bufferedIO "true" if I/O should be buffered, "false" otherwise. The default is "true".
      * @param layout The layout to use to format the event. If no layout is provided the default PatternLayout
      * will be used.
@@ -102,7 +102,7 @@ public final class FileAppender<T extend
                                               @PluginAttr("locking") final String locking,
                                               @PluginAttr("name") final String name,
                                               @PluginAttr("immediateFlush") final String immediateFlush,
-                                              @PluginAttr("suppressExceptions") final String suppress,
+                                              @PluginAttr("ignoreExceptions") final String ignore,
                                               @PluginAttr("bufferedIO") final String bufferedIO,
                                               @PluginElement("layout") Layout<S> layout,
                                               @PluginElement("filters") final Filter filter,
@@ -121,7 +121,7 @@ public final class FileAppender<T extend
             isBuffered = false;
         }
         final boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
         if (name == null) {
             LOGGER.error("No name provided for FileAppender");
@@ -146,7 +146,7 @@ public final class FileAppender<T extend
         }
 
 
-        return new FileAppender<S>(name, layout, filter, manager, fileName, handleExceptions, isFlush,
+        return new FileAppender<S>(name, layout, filter, manager, fileName, ignoreExceptions, isFlush,
                 isAdvertise ? config.getAdvertiser() : null);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSQueueAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSQueueAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSQueueAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSQueueAppender.java Sat Jul 20 21:16:45 2013
@@ -40,8 +40,8 @@ public final class JMSQueueAppender<T ex
     private final JMSQueueManager manager;
 
     private JMSQueueAppender(final String name, final Filter filter, final Layout<T> layout,
-                             final JMSQueueManager manager, final boolean handleExceptions) {
-        super(name, filter, layout, handleExceptions);
+                             final JMSQueueManager manager, final boolean ignoreExceptions) {
+        super(name, filter, layout, ignoreExceptions);
         this.manager = manager;
     }
 
@@ -70,12 +70,12 @@ public final class JMSQueueAppender<T ex
      * @param securityCredentials The security credentials of the Principal.
      * @param factoryBindingName The name to locate in the Context that provides the QueueConnectionFactory.
      * @param queueBindingName The name to use to locate the Queue.
-     * @param userName The userid to use to create the Queue Connection.
+     * @param userName The user ID to use to create the Queue Connection.
      * @param password The password to use to create the Queue Connection.
      * @param layout The layout to use (defaults to SerializedLayout).
      * @param filter The Filter or null.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     *                 The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The {@link Layout}'s {@link Serializable} type.
      * @return The JMSQueueAppender.
      */
@@ -93,12 +93,12 @@ public final class JMSQueueAppender<T ex
                                                 @PluginAttr("password") final String password,
                                                 @PluginElement("layout") Layout<S> layout,
                                                 @PluginElement("filter") final Filter filter,
-                                                @PluginAttr("suppressExceptions") final String suppress) {
+                                                @PluginAttr("ignoreExceptions") final String ignore) {
         if (name == null) {
             LOGGER.error("No name provided for JMSQueueAppender");
             return null;
         }
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final JMSQueueManager manager = JMSQueueManager.getJMSQueueManager(factoryName, providerURL, urlPkgPrefixes,
             securityPrincipalName, securityCredentials, factoryBindingName, queueBindingName, userName, password);
         if (manager == null) {
@@ -110,6 +110,6 @@ public final class JMSQueueAppender<T ex
             Layout<S> l = (Layout<S>) SerializedLayout.createLayout();
             layout = l;
         }
-        return new JMSQueueAppender<S>(name, filter, layout, manager, handleExceptions);
+        return new JMSQueueAppender<S>(name, filter, layout, manager, ignoreExceptions);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSTopicAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSTopicAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSTopicAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/JMSTopicAppender.java Sat Jul 20 21:16:45 2013
@@ -40,8 +40,8 @@ public final class JMSTopicAppender<T ex
     private final JMSTopicManager manager;
 
     private JMSTopicAppender(final String name, final Filter filter, final Layout<T> layout,
-                             final JMSTopicManager manager, final boolean handleExceptions) {
-        super(name, filter, layout, handleExceptions);
+                             final JMSTopicManager manager, final boolean ignoreExceptions) {
+        super(name, filter, layout, ignoreExceptions);
         this.manager = manager;
     }
 
@@ -74,8 +74,8 @@ public final class JMSTopicAppender<T ex
      * @param password The password to use to create the Topic Connection.
      * @param layout The layout to use (defaults to SerializedLayout).
      * @param filter The Filter or null.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     *                 The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The {@link Layout}'s {@link Serializable} type.
      * @return The JMSTopicAppender.
      */
@@ -93,13 +93,13 @@ public final class JMSTopicAppender<T ex
                                                 @PluginAttr("password") final String password,
                                                 @PluginElement("layout") Layout<S> layout,
                                                 @PluginElement("filters") final Filter filter,
-                                                @PluginAttr("suppressExceptions") final String suppress) {
+                                                @PluginAttr("ignoreExceptions") final String ignore) {
 
         if (name == null) {
             LOGGER.error("No name provided for JMSQueueAppender");
             return null;
         }
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final JMSTopicManager manager = JMSTopicManager.getJMSTopicManager(factoryName, providerURL, urlPkgPrefixes,
             securityPrincipalName, securityCredentials, factoryBindingName, topicBindingName, userName, password);
         if (manager == null) {
@@ -111,6 +111,6 @@ public final class JMSTopicAppender<T ex
             Layout<S> l = (Layout<S>) SerializedLayout.createLayout();
             layout = l;
         }
-        return new JMSTopicAppender<S>(name, filter, layout, manager, handleExceptions);
+        return new JMSTopicAppender<S>(name, filter, layout, manager, ignoreExceptions);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java Sat Jul 20 21:16:45 2013
@@ -53,9 +53,9 @@ public final class RollingFileAppender<T
 
     private RollingFileAppender(final String name, final Layout<T> layout, final Filter filter,
                                 final RollingFileManager manager, final String fileName,
-                                final String filePattern, final boolean handleException, final boolean immediateFlush,
+                                final String filePattern, final boolean ignoreExceptions, final boolean immediateFlush,
                                 final Advertiser advertiser) {
-        super(name, layout, filter, handleException, immediateFlush, manager);
+        super(name, layout, filter, ignoreExceptions, immediateFlush, manager);
         if (advertiser != null) {
             final Map<String, String> configuration = new HashMap<String, String>(layout.getContentFormat());
             configuration.put("contentType", layout.getContentType());
@@ -115,8 +115,8 @@ public final class RollingFileAppender<T
      * @param strategy The rollover strategy. Defaults to DefaultRolloverStrategy.
      * @param layout The layout to use (defaults to the default PatternLayout).
      * @param filter The Filter or null.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param advertise "true" if the appender configuration should be advertised, "false" otherwise.
      * @param advertiseURI The advertised URI which can be used to retrieve the file contents.
      * @param config The Configuration.
@@ -135,13 +135,13 @@ public final class RollingFileAppender<T
                                               @PluginElement("strategy") RolloverStrategy strategy,
                                               @PluginElement("layout") Layout<S> layout,
                                               @PluginElement("filter") final Filter filter,
-                                              @PluginAttr("suppressExceptions") final String suppress,
+                                              @PluginAttr("ignoreExceptions") final String ignore,
                                               @PluginAttr("advertise") final String advertise,
                                               @PluginAttr("advertiseURI") final String advertiseURI,
                                               @PluginConfiguration final Configuration config) {
 
         final boolean isAppend = Booleans.parseBoolean(append, true);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final boolean isBuffered = Booleans.parseBoolean(bufferedIO, true);
         final boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);
@@ -183,6 +183,6 @@ public final class RollingFileAppender<T
         }
 
         return new RollingFileAppender<S>(name, layout, filter, manager, fileName, filePattern,
-            handleExceptions, isFlush, isAdvertise ? config.getAdvertiser() : null);
+                ignoreExceptions, isFlush, isAdvertise ? config.getAdvertiser() : null);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SMTPAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SMTPAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SMTPAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SMTPAppender.java Sat Jul 20 21:16:45 2013
@@ -28,7 +28,6 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.filter.ThresholdFilter;
 import org.apache.logging.log4j.core.helpers.Booleans;
-import org.apache.logging.log4j.core.helpers.Integers;
 import org.apache.logging.log4j.core.layout.HTMLLayout;
 import org.apache.logging.log4j.core.net.SMTPManager;
 
@@ -61,8 +60,8 @@ public final class SMTPAppender<T extend
     protected final SMTPManager manager;
 
     private SMTPAppender(final String name, final Filter filter, final Layout<T> layout, final SMTPManager manager,
-                         final boolean handleExceptions) {
-        super(name, filter, layout, handleExceptions);
+                         final boolean ignoreExceptions) {
+        super(name, filter, layout, ignoreExceptions);
         this.manager = manager;
     }
 
@@ -101,9 +100,8 @@ public final class SMTPAppender<T extend
      * @param filter
      *            The Filter or null (defaults to ThresholdFilter, level of
      *            ERROR).
-     * @param suppressExceptions
-     *            "true" if exceptions should be hidden from the application,
-     *            "false" otherwise (defaults to "true").
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param <S> The {@link Layout}'s {@link Serializable} type.
      * @return The SMTPAppender.
      */
@@ -124,13 +122,13 @@ public final class SMTPAppender<T extend
                                               @PluginAttr("bufferSize") final String bufferSizeNum,
                                               @PluginElement("layout") Layout<S> layout,
                                               @PluginElement("filter") Filter filter,
-                                              @PluginAttr("suppressExceptions") final String suppressExceptions) {
+                                              @PluginAttr("ignoreExceptions") final String ignore) {
         if (name == null) {
             LOGGER.error("No name provided for SMTPAppender");
             return null;
         }
 
-        final boolean isHandleExceptions = Booleans.parseBoolean(suppressExceptions, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final int smtpPort = AbstractAppender.parseInt(smtpPortNum, 0); 
         final boolean isSmtpDebug = Boolean.parseBoolean(smtpDebug);
         final int bufferSize = bufferSizeNum == null ? DEFAULT_BUFFER_SIZE : Integer.valueOf(bufferSizeNum);
@@ -151,7 +149,7 @@ public final class SMTPAppender<T extend
             return null;
         }
 
-        return new SMTPAppender<S>(name, filter, layout, manager, isHandleExceptions);
+        return new SMTPAppender<S>(name, filter, layout, manager, ignoreExceptions);
     }
 
     /**

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java Sat Jul 20 21:16:45 2013
@@ -29,7 +29,6 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.helpers.Booleans;
-import org.apache.logging.log4j.core.helpers.Integers;
 import org.apache.logging.log4j.core.layout.SerializedLayout;
 import org.apache.logging.log4j.core.net.AbstractSocketManager;
 import org.apache.logging.log4j.core.net.Advertiser;
@@ -49,9 +48,9 @@ public class SocketAppender<T extends Se
     private final Advertiser advertiser;
 
     protected SocketAppender(final String name, final Layout<T> layout, final Filter filter,
-                             final AbstractSocketManager manager, final boolean handleException,
+                             final AbstractSocketManager manager, final boolean ignoreExceptions,
                              final boolean immediateFlush, final Advertiser advertiser) {
-        super(name, layout, filter, handleException, immediateFlush, manager);
+        super(name, layout, filter, ignoreExceptions, immediateFlush, manager);
         if (advertiser != null) {
             final Map<String, String> configuration = new HashMap<String, String>(layout.getContentFormat());
             configuration.putAll(manager.getContentFormat());
@@ -79,8 +78,8 @@ public class SocketAppender<T extends Se
      * @param immediateFail True if the write should fail if no socket is immediately available.
      * @param name The name of the Appender.
      * @param immediateFlush "true" if data should be flushed on each write.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param layout The layout to use (defaults to SerializedLayout).
      * @param filter The Filter or null.
      * @param advertise "true" if the appender configuration should be advertised, "false" otherwise.
@@ -96,7 +95,7 @@ public class SocketAppender<T extends Se
                                                 @PluginAttr("immediateFail") final String immediateFail,
                                                 @PluginAttr("name") final String name,
                                                 @PluginAttr("immediateFlush") final String immediateFlush,
-                                                @PluginAttr("suppressExceptions") final String suppress,
+                                                @PluginAttr("ignoreExceptions") final String ignore,
                                                 @PluginElement("layout") Layout<S> layout,
                                                 @PluginElement("filters") final Filter filter,
                                                 @PluginAttr("advertise") final String advertise,
@@ -104,7 +103,7 @@ public class SocketAppender<T extends Se
 
         boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final boolean fail = Booleans.parseBoolean(immediateFail, true);
         final int reconnectDelay = AbstractAppender.parseInt(delay, 0);
         final int port = AbstractAppender.parseInt(portNum, 0);
@@ -130,7 +129,7 @@ public class SocketAppender<T extends Se
             return null;
         }
 
-        return new SocketAppender<S>(name, layout, filter, manager, handleExceptions, isFlush,
+        return new SocketAppender<S>(name, layout, filter, manager, ignoreExceptions, isFlush,
                 isAdvertise ? config.getAdvertiser() : null);
     }
 

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java Sat Jul 20 21:16:45 2013
@@ -27,7 +27,6 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.helpers.Booleans;
-import org.apache.logging.log4j.core.helpers.Integers;
 import org.apache.logging.log4j.core.layout.LoggerFields;
 import org.apache.logging.log4j.core.layout.RFC5424Layout;
 import org.apache.logging.log4j.core.layout.SyslogLayout;
@@ -44,14 +43,12 @@ import org.apache.logging.log4j.util.Eng
 @Plugin(name = "Syslog", category = "Core", elementType = "appender", printObject = true)
 public class SyslogAppender<T extends Serializable> extends SocketAppender<T> {
 
-    private static final String BSD = "bsd";
-
     private static final String RFC5424 = "RFC5424";
 
     protected SyslogAppender(final String name, final Layout<T> layout, final Filter filter,
-                             final boolean handleException, final boolean immediateFlush,
+                             final boolean ignoreExceptions, final boolean immediateFlush,
                              final AbstractSocketManager manager, final Advertiser advertiser) {
-        super(name, layout, filter, manager, handleException, immediateFlush, advertiser);
+        super(name, layout, filter, manager, ignoreExceptions, immediateFlush, advertiser);
 
     }
 
@@ -64,8 +61,8 @@ public class SyslogAppender<T extends Se
      * @param immediateFail True if the write should fail if no socket is immediately available.
      * @param name The name of the Appender.
      * @param immediateFlush "true" if data should be flushed on each write.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param facility The Facility is used to try to classify the message.
      * @param id The default structured data id to use when formatting according to RFC 5424.
      * @param ein The IANA enterprise number.
@@ -100,7 +97,7 @@ public class SyslogAppender<T extends Se
                                                 @PluginAttr("immediateFail") final String immediateFail,
                                                 @PluginAttr("name") final String name,
                                                 @PluginAttr("immediateFlush") final String immediateFlush,
-                                                @PluginAttr("suppressExceptions") final String suppress,
+                                                @PluginAttr("ignoreExceptions") final String ignore,
                                                 @PluginAttr("facility") final String facility,
                                                 @PluginAttr("id") final String id,
                                                 @PluginAttr("enterpriseNumber") final String ein,
@@ -124,7 +121,7 @@ public class SyslogAppender<T extends Se
                                                 @PluginAttr("advertise") final String advertise) {
 
         final boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final int reconnectDelay = AbstractAppender.parseInt(delay, 0);
         final boolean fail = Booleans.parseBoolean(immediateFail, true);
         final int port = AbstractAppender.parseInt(portNum, 0);
@@ -139,14 +136,13 @@ public class SyslogAppender<T extends Se
             LOGGER.error("No name provided for SyslogAppender");
             return null;
         }
-        final String prot = protocol != null ? protocol : Protocol.UDP.name();
         final Protocol p = EnglishEnums.valueOf(Protocol.class, protocol);
         final AbstractSocketManager manager = createSocketManager(p, host, port, reconnectDelay, fail, layout);
         if (manager == null) {
             return null;
         }
 
-        return new SyslogAppender<S>(name, layout, filter, handleExceptions, isFlush, manager,
+        return new SyslogAppender<S>(name, layout, filter, ignoreExceptions, isFlush, manager,
                 isAdvertise ? config.getAdvertiser() : null);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java Sat Jul 20 21:16:45 2013
@@ -47,12 +47,13 @@ public abstract class AbstractDatabaseAp
      * 
      * @param name The appender name.
      * @param filter The filter, if any, to use.
-     * @param exceptionSuppressed Whether logging exceptions should be suppressed or reported to the application.
+     * @param ignoreExceptions If {@code true} exceptions encountered when appending events are logged; otherwise
+     *                         they are propagated to the caller.
      * @param manager The matching {@link AbstractDatabaseManager} implementation.
      */
-    protected AbstractDatabaseAppender(final String name, final Filter filter, final boolean exceptionSuppressed,
+    protected AbstractDatabaseAppender(final String name, final Filter filter, final boolean ignoreExceptions,
                                        final T manager) {
-        super(name, filter, null, exceptionSuppressed);
+        super(name, filter, null, ignoreExceptions);
         this.manager = manager;
     }
 

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java Sat Jul 20 21:16:45 2013
@@ -129,7 +129,7 @@ public final class ColumnConfig {
         }
         if (isPattern) {
             return new ColumnConfig(
-                    name, PatternLayout.createLayout(pattern, config, null, null, "true"), null, false, isUnicode,
+                    name, PatternLayout.createLayout(pattern, config, null, null, "false"), null, false, isUnicode,
                     isClob
             );
         }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JDBCAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JDBCAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JDBCAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/JDBCAppender.java Sat Jul 20 21:16:45 2013
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginAttr;
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Booleans;
 
 /**
  * This Appender writes logging events to a relational database using standard JDBC mechanisms. It takes a list of
@@ -37,9 +38,9 @@ import org.apache.logging.log4j.core.con
 public final class JDBCAppender extends AbstractDatabaseAppender<JDBCDatabaseManager> {
     private final String description;
 
-    private JDBCAppender(final String name, final Filter filter, final boolean exceptionSuppressed,
+    private JDBCAppender(final String name, final Filter filter, final boolean ignoreExceptions,
                          final JDBCDatabaseManager manager) {
-        super(name, filter, exceptionSuppressed, manager);
+        super(name, filter, ignoreExceptions, manager);
         this.description = this.getName() + "{ manager=" + this.getManager() + " }";
     }
 
@@ -52,8 +53,8 @@ public final class JDBCAppender extends 
      * Factory method for creating a JDBC appender within the plugin manager.
      *
      * @param name The name of the appender.
-     * @param suppressExceptions {@code "true"} (default) if logging exceptions should be hidden from the application,
-     *                           {@code "false"} otherwise.
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param filter The filter, if any, to use.
      * @param connectionSource The connections source from which database connections should be retrieved.
      * @param bufferSize If an integer greater than 0, this causes the appender to buffer log events and flush whenever
@@ -65,7 +66,7 @@ public final class JDBCAppender extends 
      */
     @PluginFactory
     public static JDBCAppender createAppender(@PluginAttr("name") final String name,
-                                              @PluginAttr("suppressExceptions") final String suppressExceptions,
+                                              @PluginAttr("ignoreExceptions") final String ignore,
                                               @PluginElement("filter") final Filter filter,
                                               @PluginElement("connectionSource") final ConnectionSource
                                                       connectionSource,
@@ -74,7 +75,7 @@ public final class JDBCAppender extends 
                                               @PluginElement("columnConfigs") final ColumnConfig[] columnConfigs) {
 
         final int bufferSizeInt = AbstractAppender.parseInt(bufferSize, 0);
-        final boolean exceptionSuppressed = Boolean.parseBoolean(suppressExceptions);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
         final StringBuilder managerName = new StringBuilder("jdbcManager{ description=").append(name)
                 .append(", bufferSize=").append(bufferSizeInt).append(", connectionSource=")
@@ -97,6 +98,6 @@ public final class JDBCAppender extends 
             return null;
         }
 
-        return new JDBCAppender(name, filter, exceptionSuppressed, manager);
+        return new JDBCAppender(name, filter, ignoreExceptions, manager);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/JPAAppender.java Sat Jul 20 21:16:45 2013
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginAttr;
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Booleans;
 import org.apache.logging.log4j.core.helpers.Strings;
 
 /**
@@ -39,9 +40,9 @@ import org.apache.logging.log4j.core.hel
 public final class JPAAppender extends AbstractDatabaseAppender<JPADatabaseManager> {
     private final String description;
 
-    private JPAAppender(final String name, final Filter filter, final boolean exceptionSuppressed,
+    private JPAAppender(final String name, final Filter filter, final boolean ignoreExceptions,
             final JPADatabaseManager manager) {
-        super(name, filter, exceptionSuppressed, manager);
+        super(name, filter, ignoreExceptions, manager);
         this.description = this.getName() + "{ manager=" + this.getManager() + " }";
     }
 
@@ -54,8 +55,8 @@ public final class JPAAppender extends A
      * Factory method for creating a JPA appender within the plugin manager.
      *
      * @param name The name of the appender.
-     * @param suppressExceptions {@code "true"} (default) if logging exceptions should be hidden from the application,
-     *                           {@code "false"} otherwise.
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param filter The filter, if any, to use.
      * @param bufferSize If an integer greater than 0, this causes the appender to buffer log events and flush whenever
      *                   the buffer reaches this size.
@@ -66,7 +67,7 @@ public final class JPAAppender extends A
      */
     @PluginFactory
     public static JPAAppender createAppender(@PluginAttr("name") final String name,
-                                             @PluginAttr("suppressExceptions") final String suppressExceptions,
+                                             @PluginAttr("ignoreExceptions") final String ignore,
                                              @PluginElement("filter") final Filter filter,
                                              @PluginAttr("bufferSize") final String bufferSize,
                                              @PluginAttr("entityClassName") final String entityClassName,
@@ -77,7 +78,7 @@ public final class JPAAppender extends A
         }
 
         final int bufferSizeInt = AbstractAppender.parseInt(bufferSize, 0);
-        final boolean exceptionSuppressed = Boolean.parseBoolean(suppressExceptions);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
         try {
             @SuppressWarnings("unchecked")
@@ -110,7 +111,7 @@ public final class JPAAppender extends A
                 return null;
             }
 
-            return new JPAAppender(name, filter, exceptionSuppressed, manager);
+            return new JPAAppender(name, filter, ignoreExceptions, manager);
         } catch (final ClassNotFoundException e) {
             LOGGER.error("Could not load entity class [{}].", entityClassName, e);
             return null;

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/NoSQLAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/NoSQLAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/NoSQLAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/db/nosql/NoSQLAppender.java Sat Jul 20 21:16:45 2013
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.con
 import org.apache.logging.log4j.core.config.plugins.PluginAttr;
 import org.apache.logging.log4j.core.config.plugins.PluginElement;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Booleans;
 
 /**
  * This Appender writes logging events to a NoSQL database using a configured NoSQL provider. It requires
@@ -40,9 +41,9 @@ import org.apache.logging.log4j.core.con
 public final class NoSQLAppender extends AbstractDatabaseAppender<NoSQLDatabaseManager<?>> {
     private final String description;
 
-    private NoSQLAppender(final String name, final Filter filter, final boolean exceptionSuppressed,
+    private NoSQLAppender(final String name, final Filter filter, final boolean ignoreExceptions,
                           final NoSQLDatabaseManager<?> manager) {
-        super(name, filter, exceptionSuppressed, manager);
+        super(name, filter, ignoreExceptions, manager);
         this.description = this.getName() + "{ manager=" + this.getManager() + " }";
     }
 
@@ -55,8 +56,8 @@ public final class NoSQLAppender extends
      * Factory method for creating a NoSQL appender within the plugin manager.
      *
      * @param name The name of the appender.
-     * @param suppressExceptions {@code "true"} (default) if logging exceptions should be hidden from the application,
-     *                           {@code "false"} otherwise.
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param filter The filter, if any, to use.
      * @param bufferSize If an integer greater than 0, this causes the appender to buffer log events and flush whenever
      *                   the buffer reaches this size.
@@ -65,7 +66,7 @@ public final class NoSQLAppender extends
      */
     @PluginFactory
     public static NoSQLAppender createAppender(@PluginAttr("name") final String name,
-                                               @PluginAttr("suppressExceptions") final String suppressExceptions,
+                                               @PluginAttr("ignoreExceptions") final String ignore,
                                                @PluginElement("filter") final Filter filter,
                                                @PluginAttr("bufferSize") final String bufferSize,
                                                @PluginElement("noSqlProvider") final NoSQLProvider<?> provider) {
@@ -75,7 +76,7 @@ public final class NoSQLAppender extends
         }
 
         final int bufferSizeInt = AbstractAppender.parseInt(bufferSize, 0);
-        final boolean exceptionSuppressed = Boolean.parseBoolean(suppressExceptions);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
 
         final String managerName = "noSqlManager{ description=" + name + ", bufferSize=" + bufferSizeInt
                 + ", provider=" + provider + " }";
@@ -87,6 +88,6 @@ public final class NoSQLAppender extends
             return null;
         }
 
-        return new NoSQLAppender(name, filter, exceptionSuppressed, manager);
+        return new NoSQLAppender(name, filter, ignoreExceptions, manager);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java Sat Jul 20 21:16:45 2013
@@ -47,10 +47,10 @@ public final class RewriteAppender<T ext
     private final RewritePolicy rewritePolicy;
     private final AppenderRef[] appenderRefs;
 
-    private RewriteAppender(final String name, final Filter filter, final boolean handleException,
+    private RewriteAppender(final String name, final Filter filter, final boolean ignoreExceptions,
                             final AppenderRef[] appenderRefs, final RewritePolicy rewritePolicy,
                             final Configuration config) {
-        super(name, filter, null, handleException);
+        super(name, filter, null, ignoreExceptions);
         this.config = config;
         this.rewritePolicy = rewritePolicy;
         this.appenderRefs = appenderRefs;
@@ -96,7 +96,8 @@ public final class RewriteAppender<T ext
     /**
      * Create a RewriteAppender.
      * @param name The name of the Appender.
-     * @param suppress If true, exceptions will be handled in the Appender.
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param appenderRefs An array of Appender names to call.
      * @param config The Configuration.
      * @param rewritePolicy The policy to use to modify the event.
@@ -106,13 +107,13 @@ public final class RewriteAppender<T ext
      */
     @PluginFactory
     public static <S extends Serializable> RewriteAppender<S> createAppender(@PluginAttr("name") final String name,
-                                          @PluginAttr("suppressExceptions") final String suppress,
+                                          @PluginAttr("ignoreExceptions") final String ignore,
                                           @PluginElement("appender-ref") final AppenderRef[] appenderRefs,
                                           @PluginConfiguration final Configuration config,
                                           @PluginElement("rewritePolicy") final RewritePolicy rewritePolicy,
                                           @PluginElement("filter") final Filter filter) {
 
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         if (name == null) {
             LOGGER.error("No name provided for RewriteAppender");
             return null;
@@ -121,6 +122,6 @@ public final class RewriteAppender<T ext
             LOGGER.error("No appender references defined for RewriteAppender");
             return null;
         }
-        return new RewriteAppender<S>(name, filter, handleExceptions, appenderRefs, rewritePolicy, config);
+        return new RewriteAppender<S>(name, filter, ignoreExceptions, appenderRefs, rewritePolicy, config);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java Sat Jul 20 21:16:45 2013
@@ -56,9 +56,9 @@ public final class RoutingAppender<T ext
             new ConcurrentHashMap<String, AppenderControl<T>>();
     private final RewritePolicy rewritePolicy;
 
-    private RoutingAppender(final String name, final Filter filter, final boolean handleException, final Routes routes,
+    private RoutingAppender(final String name, final Filter filter, final boolean ignoreExceptions, final Routes routes,
                             final RewritePolicy rewritePolicy, final Configuration config) {
-        super(name, filter, null, handleException);
+        super(name, filter, null, ignoreExceptions);
         this.routes = routes;
         this.config = config;
         this.rewritePolicy = rewritePolicy;
@@ -172,8 +172,8 @@ public final class RoutingAppender<T ext
     /**
      * Create a RoutingAppender.
      * @param name The name of the Appender.
-     * @param suppress "true" if exceptions should be hidden from the application, "false" otherwise.
-     * The default is "true".
+     * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
+     *               they are propagated to the caller.
      * @param routes The routing definitions.
      * @param config The Configuration (automatically added by the Configuration).
      * @param rewritePolicy A RewritePolicy, if any.
@@ -183,13 +183,13 @@ public final class RoutingAppender<T ext
      */
     @PluginFactory
     public static <S extends Serializable> RoutingAppender<S> createAppender(@PluginAttr("name") final String name,
-                                          @PluginAttr("suppressExceptions") final String suppress,
+                                          @PluginAttr("ignoreExceptions") final String ignore,
                                           @PluginElement("routes") final Routes routes,
                                           @PluginConfiguration final Configuration config,
                                           @PluginElement("rewritePolicy") final RewritePolicy rewritePolicy,
                                           @PluginElement("filters") final Filter filter) {
 
-        final boolean handleExceptions = Booleans.parseBoolean(suppress, true);
+        final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         if (name == null) {
             LOGGER.error("No name provided for RoutingAppender");
             return null;
@@ -198,6 +198,6 @@ public final class RoutingAppender<T ext
             LOGGER.error("No routes defined for RoutingAppender");
             return null;
         }
-        return new RoutingAppender<S>(name, filter, handleExceptions, routes, rewritePolicy, config);
+        return new RoutingAppender<S>(name, filter, ignoreExceptions, routes, rewritePolicy, config);
     }
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java Sat Jul 20 21:16:45 2013
@@ -88,7 +88,7 @@ public class AppenderControl<T extends S
             if (!appender.isStarted()) {
                 appender.getHandler().error("Attempted to append to non-started appender " + appender.getName());
 
-                if (!appender.isExceptionSuppressed()) {
+                if (!appender.ignoreExceptions()) {
                     throw new AppenderLoggingException(
                         "Attempted to append to non-started appender " + appender.getName());
                 }
@@ -102,12 +102,12 @@ public class AppenderControl<T extends S
                 appender.append(event);
             } catch (final RuntimeException ex) {
                 appender.getHandler().error("An exception occurred processing Appender " + appender.getName(), ex);
-                if (!appender.isExceptionSuppressed()) {
+                if (!appender.ignoreExceptions()) {
                     throw ex;
                 }
             } catch (final Exception ex) {
                 appender.getHandler().error("An exception occurred processing Appender " + appender.getName(), ex);
-                if (!appender.isExceptionSuppressed()) {
+                if (!appender.ignoreExceptions()) {
                     throw new AppenderLoggingException(ex);
                 }
             }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Booleans.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Booleans.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Booleans.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Booleans.java Sat Jul 20 21:16:45 2013
@@ -22,15 +22,16 @@ package org.apache.logging.log4j.core.he
 public class Booleans {
 
     /**
-     * @param s
-     *            a {@code String} containing the {@code boolean} representation to parse, may be {@code null} or
-     *            {@code ""}
-     * @param defaultValue
-     *            the return value, use {@code defaultValue} if {@code s} is {@code null} or {@code ""}
-     * @return the boolean value represented by the argument.
+     * Returns {@code true} if {@code s} is {@code "true"} (case-insensitive), {@code false} if {@code s} is
+     * {@code "false"} (case-insensitive), and {@code defaultValue} if {@code s} is anything else (including null or
+     * empty).
+     *
+     * @param s The {@code String} to parse into a {@code boolean}
+     * @param defaultValue The default value to use if {@code s} is neither {@code "true"} nor {@code "false"}
+     * @return the {@code boolean} value represented by the argument, or {@code defaultValue}.
      */
     public static boolean parseBoolean(String s, boolean defaultValue) {
-        return Strings.isEmpty(s) ? defaultValue : Boolean.parseBoolean(s);
+        return "true".equalsIgnoreCase(s) || (defaultValue && !"false".equalsIgnoreCase(s));
     }
 
 }

Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/jmx/AppenderAdmin.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/jmx/AppenderAdmin.java?rev=1505209&r1=1505208&r2=1505209&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/jmx/AppenderAdmin.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/jmx/AppenderAdmin.java Sat Jul 20 21:16:45 2013
@@ -73,7 +73,7 @@ public class AppenderAdmin implements Ap
 
     @Override
     public boolean isExceptionSuppressed() {
-        return appender.isExceptionSuppressed();
+        return appender.ignoreExceptions();
     }
     
     @Override



Mime
View raw message