You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2020/05/20 13:01:08 UTC

[logging-log4j2] branch release-2.x updated: Refactor constants.

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

ggregory pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
     new 307d0b8  Refactor constants.
307d0b8 is described below

commit 307d0b8dfc04789bfea1d0b80c4c6858b01a1045
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed May 20 09:01:03 2020 -0400

    Refactor constants.
---
 .../java/org/apache/logging/log4j/mongodb3/LevelCodec.java    |  7 +++++++
 .../org/apache/logging/log4j/mongodb3/MongoDbProvider.java    | 11 ++++++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/LevelCodec.java b/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/LevelCodec.java
index 9bbc0b0..f900863 100644
--- a/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/LevelCodec.java
+++ b/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/LevelCodec.java
@@ -29,6 +29,13 @@ import org.bson.codecs.EncoderContext;
  */
 public class LevelCodec implements Codec<Level> {
 
+    /**
+     * The singleton instance.
+     *
+     * @since 2.14.0
+     */
+    public static final LevelCodec INSTANCE = new LevelCodec();
+    
     @Override
     public Level decode(final BsonReader reader, final DecoderContext decoderContext) {
         return Level.getLevel(reader.readString());
diff --git a/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/MongoDbProvider.java b/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/MongoDbProvider.java
index f40af45..b2f5a77 100644
--- a/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/MongoDbProvider.java
+++ b/log4j-mongodb3/src/main/java/org/apache/logging/log4j/mongodb3/MongoDbProvider.java
@@ -35,6 +35,7 @@ import org.apache.logging.log4j.status.StatusLogger;
 import org.apache.logging.log4j.util.LoaderUtil;
 import org.apache.logging.log4j.util.Strings;
 import org.bson.codecs.configuration.CodecRegistries;
+import org.bson.codecs.configuration.CodecRegistry;
 
 import com.mongodb.MongoClient;
 import com.mongodb.MongoClientOptions;
@@ -52,6 +53,12 @@ public final class MongoDbProvider implements NoSqlProvider<MongoDbConnection> {
     public static class Builder<B extends Builder<B>> extends AbstractFilterable.Builder<B>
             implements org.apache.logging.log4j.core.util.Builder<MongoDbProvider> {
 
+        // @formatter:off
+        private static final CodecRegistry CODEC_REGISTRIES = CodecRegistries.fromRegistries(
+                        CodecRegistries.fromCodecs(LevelCodec.INSTANCE),
+                        MongoClient.getDefaultCodecRegistry());
+        // @formatter:on
+
         private static WriteConcern toWriteConcern(final String writeConcernConstant,
                 final String writeConcernConstantClassName) {
             WriteConcern writeConcern;
@@ -180,9 +187,7 @@ public final class MongoDbProvider implements NoSqlProvider<MongoDbConnection> {
                     final WriteConcern writeConcern = toWriteConcern(writeConcernConstant, writeConcernConstantClassName);
                     // @formatter:off
                     final MongoClientOptions options = MongoClientOptions.builder()
-                            .codecRegistry(CodecRegistries.fromRegistries(
-                                            CodecRegistries.fromCodecs(new LevelCodec()),
-                                            MongoClient.getDefaultCodecRegistry()))
+                            .codecRegistry(CODEC_REGISTRIES)
                             .writeConcern(writeConcern)
                             .build();
                     // @formatter:on