Repository: logging-log4j2
Updated Branches:
  refs/heads/master 1f30fec6d -> 6532cd7b7


[LOG4J2-1255] Logger.entry and Logger.exit should support Messages. Fix
NPEs. 

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

Branch: refs/heads/master
Commit: cd881cef0f658857a8d5004390cdb1a8bdac4a31
Parents: 85661de
Author: ggregory <ggreg...@apache.org>
Authored: Thu Feb 11 22:00:36 2016 -0800
Committer: ggregory <ggreg...@apache.org>
Committed: Thu Feb 11 22:00:36 2016 -0800

----------------------------------------------------------------------
 .../apache/logging/log4j/spi/AbstractLogger.java  | 18 ++++++++++--------
 .../java/org/apache/logging/log4j/LoggerTest.java | 13 +++++++++++--
 2 files changed, 21 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/cd881cef/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
----------------------------------------------------------------------
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
index e7af6e9..df7a4b9 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
@@ -304,7 +304,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
      */
     protected void enter(final String fqcn, final String format, final 
Supplier<?>... paramSuppliers) {
         if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
-            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(format, 
paramSuppliers.length, paramSuppliers), null);
+            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(format, 
paramSuppliers), null);
         }
     }
 
@@ -317,7 +317,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
      */
     protected void enter(final String fqcn, final String format, final 
Object... params) {
         if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
-            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(format, 
params.length, params), null);
+            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(format, 
params), null);
         }
     }
 
@@ -352,14 +352,15 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
     protected void entry(final String fqcn, final Object... params) {
         if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
             if (params == null) {
-                logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, 0, 
null), null);
+                logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, 
(Supplier<?>[]) null), null);
             } else {
-                logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, 
params.length, params), null);
+                logMessage(fqcn, Level.TRACE, ENTRY_MARKER, entryMsg(null, 
params), null);
             }
         }
     }
 
-    protected Message entryMsg(final String format, final int count, final 
Object... params) {
+    protected Message entryMsg(final String format, final Object... params) {
+        final int count = params == null ? 0 : params.length;
         if (count == 0) {
             if (Strings.isEmpty(format)) {
                 return messageFactory.newMessage("entry");
@@ -372,7 +373,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             return messageFactory.newMessage(sb.toString(), params);
         }
         sb.append(" params(");
-        for (int i = 0; i < params.length; i++) {
+        for (int i = 0; i < count; i++) {
             Object parm = params[i];
             sb.append(parm != null ? parm.toString() : "null");
             if (i + 1 < params.length) {
@@ -383,12 +384,13 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
         return messageFactory.newMessage(sb.toString());
     }
 
-    protected Message entryMsg(final String format, final int count, final 
Supplier<?>... paramSuppliers) {
+    protected Message entryMsg(final String format, final Supplier<?>... 
paramSuppliers) {
+        final int count = paramSuppliers == null ? 0 : paramSuppliers.length;
         Object[] params = new Object[count];
         for (int i = 0; i < count; i++) {
             params[i] = paramSuppliers[i].get();
         }
-        return entryMsg(format, count, params);
+        return entryMsg(format, params);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/cd881cef/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java 
b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
index e60ed3a..8e4d915 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
@@ -55,8 +55,8 @@ public class LoggerTest {
         logger.entry();
         logger.exit();
         assertEquals(2, results.size());
-        assertThat("Incorrect Entry", results.get(0), startsWith("ENTRY[ FLOW 
] TRACE entry"));
-        assertThat("incorrect Exit", results.get(1), startsWith("EXIT[ FLOW ] 
TRACE exit"));
+        assertThat("Incorrect Entry", results.get(0), equalTo("ENTRY[ FLOW ] 
TRACE entry"));
+        assertThat("incorrect Exit", results.get(1), equalTo("EXIT[ FLOW ] 
TRACE exit"));
 
     }
 
@@ -93,6 +93,15 @@ public class LoggerTest {
     }
 
     @Test
+    public void flowTracing() {
+        logger.traceEntry();
+        logger.traceExit();
+        assertEquals(2, results.size());
+        assertThat("Incorrect Entry", results.get(0), startsWith("ENTRY[ FLOW 
] TRACE entry"));
+        assertThat("Incorrect Exit", results.get(1), startsWith("EXIT[ FLOW ] 
TRACE exit"));
+    }
+
+    @Test
     public void catching() {
         try {
             throw new NullPointerException();

Reply via email to