This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 0992e7260e2b1a28e8e152e92e5b889ca8496a35
Author: Gary Gregory <[email protected]>
AuthorDate: Fri Feb 4 16:41:02 2022 -0500

    Parse and use ConsoleAppener immediateFlush.
    
    Match other builders by deprecating with* APIs for set* APIs.
    
    Conflicts:
        
log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/ConsoleAppenderBuilder.java
        
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
---
 .../builders/appender/ConsoleAppenderBuilder.java      | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git 
a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/ConsoleAppenderBuilder.java
 
b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/ConsoleAppenderBuilder.java
index 517fdb2..afdc581 100644
--- 
a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/ConsoleAppenderBuilder.java
+++ 
b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/ConsoleAppenderBuilder.java
@@ -74,6 +74,7 @@ public class ConsoleAppenderBuilder extends AbstractBuilder 
implements AppenderB
         Holder<List<Filter>> filters = new Holder<>(new ArrayList<>());
         Holder<String> level = new Holder<>();
         Holder<Boolean> follow = new BooleanHolder();
+        Holder<Boolean> immediateFlush = new BooleanHolder(true);
         forEachElement(appenderElement.getChildNodes(), (currentElement) -> {
             switch (currentElement.getTagName()) {
                 case LAYOUT_TAG:
@@ -114,18 +115,18 @@ public class ConsoleAppenderBuilder extends 
AbstractBuilder implements AppenderB
                         case FOLLOW_PARAM: {
                             String value = getValueAttribute(currentElement);
                             if (value == null) {
-                                LOGGER.warn("No value supplied for Follow 
parameter. Using default of {}", false);
+                                LOGGER.warn("No value supplied for Follow 
parameter. Using default of {}", follow);
                             } else {
-                                follow.set(Boolean.valueOf(value));
+                                follow.set(Boolean.parseBoolean(value));
                             }
                             break;
                         }
                         case IMMEDIATE_FLUSH_PARAM: {
                             String value = getValueAttribute(currentElement);
                             if (value == null) {
-                                LOGGER.warn("No value supplied for 
ImmediateFlush parameter. Using default of {}", true);
-                            } else if (!Boolean.getBoolean(name)) {
-                                LOGGER.warn("The value {} for ImmediateFlush 
parameter is not supported.", value);
+                                LOGGER.warn("No value supplied for 
ImmediateFlush parameter. Using default of {}", immediateFlush);
+                            } else {
+                                
immediateFlush.set(Boolean.parseBoolean(value));
                             }
                             break;
                         }
@@ -145,7 +146,7 @@ public class ConsoleAppenderBuilder extends AbstractBuilder 
implements AppenderB
                 current = f;
             }
         }
-        return createAppender(name, layout.get(), head, level.get(), 
target.get(), follow.get(), config);
+        return createAppender(name, layout.get(), head, level.get(), 
target.get(), immediateFlush.get(), follow.get(), config);
     }
 
     @Override
@@ -156,11 +157,11 @@ public class ConsoleAppenderBuilder extends 
AbstractBuilder implements AppenderB
         String level = getProperty(THRESHOLD_PARAM);
         String target = getProperty(TARGET_PARAM);
         boolean follow = getBooleanProperty(FOLLOW_PARAM);
-        return createAppender(name, layout, filter, level, target, follow, 
configuration);
+        return createAppender(name, layout, filter, level, target, true, 
follow, configuration);
     }
 
     private <T extends Log4j1Configuration> Appender createAppender(String 
name, Layout layout, Filter filter,
-            String level, String target, boolean follow, T configuration) {
+            String level, String target, boolean immediateFlush, boolean 
follow, T configuration) {
         org.apache.logging.log4j.core.Layout<?> consoleLayout = null;
 
         if (layout instanceof LayoutWrapper) {
@@ -178,6 +179,7 @@ public class ConsoleAppenderBuilder extends AbstractBuilder 
implements AppenderB
                 .setLayout(consoleLayout)
                 .setFilter(consoleFilter)
                 .setConfiguration(configuration)
+                .setImmediateFlush(immediateFlush)
                 .build());
     }
 }

Reply via email to