Github user aaabramov commented on a diff in the pull request:
https://github.com/apache/logging-log4j2/pull/206#discussion_r209227995
--- Diff:
log4j-redis/src/main/java/org/apache/logging/log4j/redis/appender/RedisManager.java
---
@@ -0,0 +1,104 @@
+package org.apache.logging.log4j.redis.appender;
+
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.appender.AbstractManager;
+import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
+import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
+import redis.clients.jedis.exceptions.JedisConnectionException;
+
+import java.net.URI;
+import java.util.Queue;
+import java.util.concurrent.TimeUnit;
+
+class RedisManager extends AbstractManager {
+
+ private final String[] keys;
+ private final String host;
+ private final int port;
+ private final SslConfiguration sslConfiguration;
+ private final JedisPoolConfig poolConfiguration;
+ private JedisPool jedisPool;
+
+ RedisManager(LoggerContext loggerContext, String name, String[] keys,
String host, int port,
+ SslConfiguration sslConfiguration,
LoggingJedisPoolConfiguration poolConfiguration) {
+ super(loggerContext, name);
+ this.keys = keys;
+ this.host = host;
+ this.port = port;
+ this.sslConfiguration = sslConfiguration;
+ if (poolConfiguration == null) {
+ this.poolConfiguration =
LoggingJedisPoolConfiguration.defaultConfiguration();
+ } else {
+ this.poolConfiguration = poolConfiguration;
+ }
+ }
+
+ JedisPool createPool(String host, int port, SslConfiguration
sslConfiguration) {
+ if (sslConfiguration != null) {
+ return new JedisPool(
+ poolConfiguration,
+ URI.create(host + ":" + String.valueOf(port)),
--- End diff --
What is the purpose of explicitly stringifying `port `?
---