diff --git a/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/LoggingRedisPoolConfiguration.java b/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/LoggingRedisPoolConfiguration.java
index ba3deac..a14c69f 100644
--- a/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/LoggingRedisPoolConfiguration.java
+++ b/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/LoggingRedisPoolConfiguration.java
@@ -18,9 +18,9 @@
 package org.apache.logging.log4j.redis.appender;
 
 import org.apache.logging.log4j.core.Core;
-import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.plugins.Plugin;
 import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
+import org.apache.logging.log4j.plugins.PluginFactory;
 import redis.clients.jedis.JedisPoolConfig;
 
 /**
@@ -41,12 +41,12 @@
     /**
      * Creates a LoggingRedisPoolConfiguration from standard pool parameters.
      */
-    @PluginBuilderFactory
+    @PluginFactory
     public static Builder newBuilder() {
         return new LoggingRedisPoolConfiguration.Builder();
     }
 
-    private static class Builder implements org.apache.logging.log4j.core.util.Builder<LoggingRedisPoolConfiguration> {
+    private static class Builder implements org.apache.logging.log4j.plugins.util.Builder<LoggingRedisPoolConfiguration> {
 
         @PluginBuilderAttribute("minIdle")
         private int minIdle = JedisPoolConfig.DEFAULT_MIN_IDLE;
diff --git a/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/RedisAppender.java b/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/RedisAppender.java
index 4a19717..557ed6e 100644
--- a/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/RedisAppender.java
+++ b/log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/RedisAppender.java
@@ -17,16 +17,19 @@
 
 package org.apache.logging.log4j.redis.appender;
 
-import org.apache.logging.log4j.LoggingException;
-import org.apache.logging.log4j.core.*;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.StringLayout;
 import org.apache.logging.log4j.core.appender.AbstractAppender;
 import org.apache.logging.log4j.core.appender.AppenderLoggingException;
-import org.apache.logging.log4j.core.config.Node;
-import org.apache.logging.log4j.core.config.plugins.Plugin;
-import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
-import org.apache.logging.log4j.core.config.plugins.PluginElement;
-import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required;
+import org.apache.logging.log4j.plugins.Node;
+import org.apache.logging.log4j.plugins.Plugin;
+import org.apache.logging.log4j.plugins.PluginBuilderAttribute;
+import org.apache.logging.log4j.plugins.PluginElement;
+import org.apache.logging.log4j.plugins.PluginFactory;
+import org.apache.logging.log4j.plugins.validation.constraints.Required;
 import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
 import org.apache.logging.log4j.spi.AbstractLogger;
 
@@ -67,7 +70,7 @@
      * @param <B> The type to build
      */
     public static class Builder<B extends Builder<B>> extends AbstractAppender.Builder<B>
-            implements org.apache.logging.log4j.core.util.Builder<RedisAppender> {
+            implements org.apache.logging.log4j.plugins.util.Builder<RedisAppender> {
 
         private final String KEY_SEPARATOR = ",";
 
@@ -187,7 +190,7 @@
      * Creates a builder for a RedisAppender.
      * @return a builder for a RedisAppender.
      */
-    @PluginBuilderFactory
+    @PluginFactory
     public static <B extends Builder<B>> B newBuilder() {
         return new Builder<B>().asBuilder();
     }
diff --git a/log4j-redis/src/test/java/org/apache/logging/log4j/redis/appender/RedisAppenderTest.java b/log4j-redis/src/test/java/org/apache/logging/log4j/redis/appender/RedisAppenderTest.java
index 530a192..3236c79 100644
--- a/log4j-redis/src/test/java/org/apache/logging/log4j/redis/appender/RedisAppenderTest.java
+++ b/log4j-redis/src/test/java/org/apache/logging/log4j/redis/appender/RedisAppenderTest.java
@@ -53,12 +53,12 @@
         initMocks();
 
         appender = new AppenderTestRedisAppenderBuilder()
-                        .withName("RedisAppender")
+                        .setName("RedisAppender")
                         .setKeys(DESTINATION_KEY)
                         .setHost(HOST)
                         .setPort(PORT)
                         .setImmediateFlush(true)
-                        .withLayout(PatternLayout.createDefaultLayout())
+                        .setLayout(PatternLayout.createDefaultLayout())
                         .build();
         logEvent = createLogEvent();
     }
@@ -91,13 +91,13 @@
     @Test
     public void testQueuesLogEvents() {
         appender = new AppenderTestRedisAppenderBuilder()
-                .withName("RedisAppender")
+                .setName("RedisAppender")
                 .setKeys(DESTINATION_KEY)
                 .setHost(HOST)
                 .setPort(PORT)
                 .setQueueCapacity(2)
                 .setImmediateFlush(false)
-                .withLayout(PatternLayout.newBuilder().withPattern("%m").build())
+                .setLayout(PatternLayout.newBuilder().setPattern("%m").build())
                 .build();
 
         appender.append(logEvent);
@@ -107,13 +107,13 @@
     @Test
     public void testAttemptsSendWhenQueueReachesCapacity() {
         appender = new AppenderTestRedisAppenderBuilder()
-                .withName("RedisAppender")
+                .setName("RedisAppender")
                 .setKeys(DESTINATION_KEY)
                 .setHost(HOST)
                 .setPort(PORT)
                 .setQueueCapacity(1)
                 .setImmediateFlush(false)
-                .withLayout(PatternLayout.newBuilder().withPattern("%m").build())
+                .setLayout(PatternLayout.newBuilder().setPattern("%m").build())
                 .build();
 
         appender.append(logEvent);
@@ -125,13 +125,13 @@
     @Test
     public void testFlushesQueueAtExceededCapacity() {
         appender = new AppenderTestRedisAppenderBuilder()
-                .withName("RedisAppender")
+                .setName("RedisAppender")
                 .setKeys(DESTINATION_KEY)
                 .setHost(HOST)
                 .setPort(PORT)
                 .setQueueCapacity(1)
                 .setImmediateFlush(false)
-                .withLayout(PatternLayout.newBuilder().withPattern("%m").build())
+                .setLayout(PatternLayout.newBuilder().setPattern("%m").build())
                 .build();
 
         appender.append(logEvent);
@@ -142,12 +142,12 @@
     @Test
     public void testFlushesQueueAtEndOfBatch() {
         appender = new AppenderTestRedisAppenderBuilder()
-                .withName("RedisAppender")
+                .setName("RedisAppender")
                 .setKeys(DESTINATION_KEY)
                 .setHost(HOST)
                 .setPort(PORT)
                 .setImmediateFlush(false)
-                .withLayout(PatternLayout.newBuilder().withPattern("%m").build())
+                .setLayout(PatternLayout.newBuilder().setPattern("%m").build())
                 .build();
         logEvent = createPartialLogEvent().setEndOfBatch(true).build();
 
@@ -158,12 +158,12 @@
     @Test
     public void testFlushesQueueOnAppenderStop() {
         appender = new AppenderTestRedisAppenderBuilder()
-                .withName("RedisAppender")
+                .setName("RedisAppender")
                 .setKeys(DESTINATION_KEY)
                 .setHost(HOST)
                 .setPort(PORT)
                 .setImmediateFlush(false)
-                .withLayout(PatternLayout.newBuilder().withPattern("%m").build())
+                .setLayout(PatternLayout.newBuilder().setPattern("%m").build())
                 .build();
         appender.append(logEvent);
         Mockito.verify(manager, Mockito.times(0)).sendBulk(any());
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index f6e7e53..ce80579 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -31,6 +31,9 @@
          - "remove" - Removed
     -->
     <release version="3.0.0" date="2019-xx-xx" description="GA Release 3.0.0">
+      <action issue="LOG4J2-2400" dev="rgoers" type="add" due-to="Natalie Meurer">
+        Add Redis Appender.
+      </action>
       <action issue="LOG4J2-2749" dev="vy" type="fix" due-to="Oleksii Khomchenko">
         JsonLayout KeyValuePair should discard blank JSON keys.
       </action>
