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 2016/11/29 08:28:15 UTC

logging-log4j2 git commit: [LOG4J2-1682]

Repository: logging-log4j2
Updated Branches:
  refs/heads/master ed54985b9 -> 2bc846a50


[LOG4J2-1682] 

Logger using LocalizedMessageFactory prints key instead of messsage.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2bc846a5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2bc846a5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2bc846a5

Branch: refs/heads/master
Commit: 2bc846a5067a7414194ac07be6ebf4956295271d
Parents: ed54985
Author: Gary Gregory <ga...@gmail.com>
Authored: Tue Nov 29 00:28:08 2016 -0800
Committer: Gary Gregory <ga...@gmail.com>
Committed: Tue Nov 29 00:28:08 2016 -0800

----------------------------------------------------------------------
 .../logging/log4j/message/LocalizedMessage.java |  7 ++++
 .../log4j/message/LocalizedMessageFactory.java  | 18 ++++++++--
 .../message/LocalizedMessageFactoryTest.java    | 37 ++++++++++++++++++++
 src/changes/changes.xml                         |  3 ++
 4 files changed, 62 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2bc846a5/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java
index 4399469..caf04f7 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessage.java
@@ -102,6 +102,13 @@ public class LocalizedMessage implements Message, LoggerNameAwareMessage {
         this(baseName, (Locale) null, key, new Object[] {arg});
     }
 
+    /**
+     * @since 2.8
+     */
+    public LocalizedMessage(final ResourceBundle bundle, final String key) {
+        this(bundle, (Locale) null, key, new Object[] {});
+    }
+
     public LocalizedMessage(final ResourceBundle bundle, final String key, final Object arg) {
         this(bundle, (Locale) null, key, new Object[] {arg});
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2bc846a5/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java
index 77f801d..062a3e3 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/LocalizedMessageFactory.java
@@ -64,19 +64,31 @@ public class LocalizedMessageFactory extends AbstractMessageFactory {
     }
 
     /**
-     * Creates {@link org.apache.logging.log4j.message.StringFormattedMessage} instances.
+     * @since 2.8
+     */
+    @Override
+    public Message newMessage(String key) {
+        if (resourceBundle == null) {
+            return new LocalizedMessage(baseName,  key);
+        }
+        return new LocalizedMessage(resourceBundle, key);
+    }
+    
+    /**
+     * Creates {@link LocalizedMessage} instances.
      *
      * @param key The key String, used as a message if the key is absent.
      * @param params The parameters for the message at the given key.
-     * @return The Message.
+     * @return The LocalizedMessage.
      *
      * @see org.apache.logging.log4j.message.MessageFactory#newMessage(String, Object...)
      */
     @Override
     public Message newMessage(final String key, final Object... params) {
         if (resourceBundle == null) {
-            return new LocalizedMessage(baseName,  key, params);
+            return new LocalizedMessage(baseName, key, params);
         }
         return new LocalizedMessage(resourceBundle, key, params);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2bc846a5/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
new file mode 100644
index 0000000..71bdf29
--- /dev/null
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/LocalizedMessageFactoryTest.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.message;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Tests {@link LocalizedMessageFactory}.
+ */
+public class LocalizedMessageFactoryTest {
+
+    @Test
+    public void testNewMessage() {
+        final LocalizedMessageFactory localizedMessageFactory = new LocalizedMessageFactory(
+                ResourceBundle.getBundle("MF", Locale.US));
+        final Message message = localizedMessageFactory.newMessage("hello_world");
+        Assert.assertEquals("Hello world.", message.getFormattedMessage());
+    }
+}

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2bc846a5/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index b0d4ae2..8830609 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
   </properties>
   <body>
     <release version="2.8" date="2016-MM-DD" description="GA Release 2.8">
+      <action issue="LOG4J2-1682" dev="ggregory" type="fix" due-to="Markus Waidhofer">
+        Logger using LocalizedMessageFactory prints key instead of messsage.
+      </action>
       <action issue="LOG4J2-1720" dev="mikes" type="fix">
         Make GelfLayout independent of Jackson.
       </action>