You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2012/10/09 08:24:56 UTC
svn commit: r1395865 - in /logging/log4j/log4j2/trunk:
log4j12-api/src/main/java/org/apache/log4j/Category.java
log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java
src/changes/changes.xml
Author: rgoers
Date: Tue Oct 9 06:24:56 2012
New Revision: 1395865
URL: http://svn.apache.org/viewvc?rev=1395865&view=rev
Log:
Log4j 1.2 Category.forcedLog was wrapping the message with an ObjectMessage even if the parameter was an ObjectMessage
Modified:
logging/log4j/log4j2/trunk/log4j12-api/src/main/java/org/apache/log4j/Category.java
logging/log4j/log4j2/trunk/log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java
logging/log4j/log4j2/trunk/src/changes/changes.xml
Modified: logging/log4j/log4j2/trunk/log4j12-api/src/main/java/org/apache/log4j/Category.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j12-api/src/main/java/org/apache/log4j/Category.java?rev=1395865&r1=1395864&r2=1395865&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j12-api/src/main/java/org/apache/log4j/Category.java (original)
+++ logging/log4j/log4j2/trunk/log4j12-api/src/main/java/org/apache/log4j/Category.java Tue Oct 9 06:24:56 2012
@@ -250,7 +250,8 @@ public class Category {
public void forcedLog(String fqcn, Priority level, Object message, Throwable t) {
org.apache.logging.log4j.Level lvl = org.apache.logging.log4j.Level.toLevel(level.toString());
- logger.log(null, fqcn, lvl, new ObjectMessage(message), t);
+ Message msg = message instanceof Message ? (ObjectMessage) message : new ObjectMessage(message);
+ logger.log(null, fqcn, lvl, msg, t);
}
public boolean exists(String name) {
Modified: logging/log4j/log4j2/trunk/log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java?rev=1395865&r1=1395864&r2=1395865&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java (original)
+++ logging/log4j/log4j2/trunk/log4j12-api/src/test/java/org/apache/log4j/CategoryTest.java Tue Oct 9 06:24:56 2012
@@ -18,9 +18,10 @@
package org.apache.log4j;
import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.LoggerContext;
-import org.apache.logging.log4j.status.StatusConsoleListener;
-import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.ObjectMessage;
import org.apache.logging.log4j.test.appender.ListAppender;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.layout.PatternLayout;
@@ -70,8 +71,25 @@ public class CategoryTest {
category.setAdditivity(false);
category.getLogger().addAppender(appender);
category.info("Hello, World");
- int events = appender.getEvents().size();
+ List<LogEvent> list = appender.getEvents();
+ int events = list.size();
assertTrue("Number of events should be 1, was " + events, events == 1);
+ LogEvent event = list.get(0);
+ Message msg = event.getMessage();
+ assertNotNull("No message", msg);
+ assertTrue("Incorrect Message type", msg instanceof ObjectMessage);
+ Object[] objects = msg.getParameters();
+ assertTrue("Incorrect Object type", objects[0] instanceof String);
+ appender.clear();
+ category.log(Priority.INFO, "Hello, World");
+ events = list.size();
+ assertTrue("Number of events should be 1, was " + events, events == 1);
+ event = list.get(0);
+ msg = event.getMessage();
+ assertNotNull("No message", msg);
+ assertTrue("Incorrect Message type", msg instanceof ObjectMessage);
+ objects = msg.getParameters();
+ assertTrue("Incorrect Object type", objects[0] instanceof String);
appender.clear();
}
Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1395865&r1=1395864&r2=1395865&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Tue Oct 9 06:24:56 2012
@@ -22,6 +22,12 @@
</properties>
<body>
+ <release version="2.0-beta3" date="TBD" description= "Bug fixes and enhancements">
+ <action dev="rgoers" type="fix">
+ Log4j 1.2 Category.forcedLog was wrapping the message with an ObjectMessage even if the parameter was an
+ ObjectMessage.
+ </action>
+ </release>
<release version="2.0-beta2" date="2012-10-07" description="Bug fixes and enhancements">
<action dev="rgoers" type="update">
Made ParameterizedMessage, StringFormattedMessage and ThreadDumpMessage immutable. LocalizedMessage is