Author: carnold
Date: Fri Apr 20 20:27:00 2007
New Revision: 530974

URL: http://svn.apache.org/viewvc?view=rev&rev=530974
Log:
Bug 41186: Eliminate NPE on getLocationInfo() when FQCN is null

Modified:
    
logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LocationInfo.java
    
logging/log4j/branches/v1_2-branch/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java

Modified: 
logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LocationInfo.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LocationInfo.java?view=diff&rev=530974&r1=530973&r2=530974
==============================================================================
--- 
logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LocationInfo.java
 (original)
+++ 
logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LocationInfo.java
 Fri Apr 20 20:27:00 2007
@@ -105,7 +105,7 @@
 
     */
     public LocationInfo(Throwable t, String fqnOfCallingClass) {
-      if(t == null)
+      if(t == null || fqnOfCallingClass == null)
        return;
 
       String s;

Modified: 
logging/log4j/branches/v1_2-branch/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/v1_2-branch/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java?view=diff&rev=530974&r1=530973&r2=530974
==============================================================================
--- 
logging/log4j/branches/v1_2-branch/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java
 (original)
+++ 
logging/log4j/branches/v1_2-branch/tests/src/java/org/apache/log4j/spi/LoggingEventTest.java
 Fri Apr 20 20:27:00 2007
@@ -215,5 +215,29 @@
       assertEquals(Level.ERROR, event.level);
   }
 
+    /**
+     * Tests LoggingEvent.getLocationInfo() when no FQCN is specified.
+     * See bug 41186.
+     */
+  public void testLocationInfoNoFQCN() {
+      Category root = Logger.getRootLogger();
+         Priority level = Level.INFO;
+      LoggingEvent event =
+        new LoggingEvent(
+          null, root, 0L,  level, "Hello, world.", null);
+      LocationInfo info = event.getLocationInformation();
+         //
+         //  log4j 1.2 returns an object, its layout doesn't check for nulls.
+         //  log4j 1.3 returns a null.
+         //
+         assertNotNull(info);
+         if (info != null) {
+            assertEquals("?", info.getLineNumber());
+                assertEquals("?", info.getClassName());
+                assertEquals("?", info.getFileName());
+                assertEquals("?", info.getMethodName());
+         }
+  }
+
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to