Author: psmith
Date: Wed Apr 18 20:25:33 2007
New Revision: 530249

URL: http://svn.apache.org/viewvc?view=rev&rev=530249
Log:
Final tidy up of addition of other receivers from log4j 1.3.

Reviewed by: Curt and Scott


Added:
    logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/
      - copied from r529843, logging/log4j/trunk/src/java/org/apache/log4j/db/
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/JMSReceiver.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/JMSReceiver.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/JMSReceiverBeanInfo.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/JMSReceiverBeanInfo.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/MulticastReceiver.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/MulticastReceiver.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/MulticastReceiverBeanInfo.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/MulticastReceiverBeanInfo.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/UDPReceiver.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/UDPReceiver.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/XMLSocketNode.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/XMLSocketNode.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/net/XMLSocketReceiver.java
      - copied unchanged from r529796, 
logging/log4j/trunk/src/java/org/apache/log4j/net/XMLSocketReceiver.java
Modified:
    logging/sandbox/log4j/receivers/pom.xml
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/CustomSQLDBReceiver.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBAppender.java
    
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBReceiverJob.java

Modified: logging/sandbox/log4j/receivers/pom.xml
URL: 
http://svn.apache.org/viewvc/logging/sandbox/log4j/receivers/pom.xml?view=diff&rev=530249&r1=530248&r2=530249
==============================================================================
--- logging/sandbox/log4j/receivers/pom.xml (original)
+++ logging/sandbox/log4j/receivers/pom.xml Wed Apr 18 20:25:33 2007
@@ -116,7 +116,12 @@
       <groupId>oro</groupId>
       <artifactId>oro</artifactId>
       <version>2.0.8</version>
-    </dependency>    
+    </dependency>  
+    <dependency>
+      <groupId>javax.jms</groupId>
+      <artifactId>jms</artifactId>
+      <version>1.1</version>
+    </dependency>  
   </dependencies>
   <reporting>
     <plugins>

Modified: 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/CustomSQLDBReceiver.java
URL: 
http://svn.apache.org/viewvc/logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/CustomSQLDBReceiver.java?view=diff&rev=530249&r1=529843&r2=530249
==============================================================================
--- 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/CustomSQLDBReceiver.java
 (original)
+++ 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/CustomSQLDBReceiver.java
 Wed Apr 18 20:25:33 2007
@@ -398,19 +398,24 @@
                     }
 
                     Level levelImpl = Level.toLevel(level);
-                    LoggingEvent event = new LoggingEvent(
-                            eventLogger.getName(), eventLogger, levelImpl,
-                            message, null);
-                    event.setLocationInformation(new LocationInfo(fileName,
-                            className, methodName, lineNumber));
-                    properties.putAll(mdc);
-                    event.setTimeStamp(timeStamp);
-                    event.setThrowableInformation(new ThrowableInformation(
-                            exception));
 
-                    event.setProperties(properties);
-                    event.setThreadName(threadName);
-                    event.setNDC(ndc);
+
+                                       LocationInfo locationInfo = new 
LocationInfo(fileName,
+                                   className, methodName, lineNumber);
+       
+                                       ThrowableInformation throwableInfo =  
new ThrowableInformation(
+                                           exception);
+       
+                                       properties.putAll(mdc);
+               
+                                   LoggingEvent event = new 
LoggingEvent(eventLogger.getName(),
+                                           eventLogger, timeStamp, levelImpl, 
message,
+                                           threadName,
+                                           throwableInfo,
+                                           ndc,
+                                           locationInfo,
+                                           properties);
+
                     doPost(event);
                 }
                 //log when rows are retrieved

Modified: 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBAppender.java
URL: 
http://svn.apache.org/viewvc/logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBAppender.java?view=diff&rev=530249&r1=529843&r2=530249
==============================================================================
--- 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBAppender.java
 (original)
+++ 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBAppender.java
 Wed Apr 18 20:25:33 2007
@@ -20,6 +20,7 @@
 import org.apache.log4j.AppenderSkeleton;
 import org.apache.log4j.db.dialect.SQLDialect;
 import org.apache.log4j.db.dialect.Util;
+import org.apache.log4j.helpers.LogLog;
 import org.apache.log4j.spi.LoggingEvent;
 import org.apache.log4j.spi.LocationInfo;
 
@@ -209,7 +210,10 @@
           
           PreparedStatement insertStatement =
               connection.prepareStatement(insertSQL);
-          insertStatement.setLong(1, event.getSequenceNumber());
+
+/*          insertStatement.setLong(1, event.getSequenceNumber());*/
+                 insertStatement.setLong(1, 0);
+               
           insertStatement.setLong(2, event.getTimeStamp());
           insertStatement.setString(3, event.getRenderedMessage());
           insertStatement.setString(4, event.getLoggerName());
@@ -371,6 +375,32 @@
      */
   public boolean requiresLayout() {
       return false;
+  }
+
+ /** Here Be Dragons. 
+   * This code is necessary because this class originally came from the log4j 
1.3 area, before being backported to 1.3
+   * In 1.3, Appenders had their own logger, but 1.2 does not have this, so 
instead we embed a 'compatible' mechanism here
+   * The goal was to keep the code as similar as possible, to avoid as many 
conflicts as possble.
+   * Code suggested by Curt Arnold (and not Curty Arnold... ;) )
+  */
+
+   private static final class LogLogger {
+        public void debug(final String msg) {
+             LogLog.debug(msg);
+        }
+       public void warn(final String msg, final Throwable ex) {
+             LogLog.warn(msg, ex);
+       }
+       public void warn(final String msg) {
+             LogLog.warn(msg);
+       }
+      public void error(final String msg, final Throwable ex) {
+            LogLog.error(msg, ex);
+     }
+  }
+
+  private static final LogLogger getLogger() {
+     return new LogLogger();
   }
     
 }

Modified: 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBReceiverJob.java
URL: 
http://svn.apache.org/viewvc/logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBReceiverJob.java?view=diff&rev=530249&r1=529843&r2=530249
==============================================================================
--- 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBReceiverJob.java
 (original)
+++ 
logging/sandbox/log4j/receivers/src/main/java/org/apache/log4j/db/DBReceiverJob.java
 Wed Apr 18 20:25:33 2007
@@ -32,6 +32,7 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
+import java.util.Hashtable;
 import java.util.Vector;
 
 /**
@@ -75,38 +76,62 @@
       //rs.beforeFirst();
 
       while (rs.next()) {
-        LoggingEvent event = new LoggingEvent();
+           Logger logger = null;
+           long timeStamp = 0L;
+           String level = null;
+           String threadName = null;
+           Object message = null;
+           String ndc = null;
+           String className = null;
+           String methodName = null;
+           String fileName = null;
+           String lineNumber = null;
+           Hashtable properties = new Hashtable();
+       
+
+        //event.setSequenceNumber(rs.getLong(1));
+        timeStamp = rs.getLong(2);
+        message = rs.getString(3);
+               logger = Logger.getLogger(rs.getString(4));
+        level = rs.getString(5);
+               Level levelImpl = Level.toLevel(level.trim());
 
-        event.setSequenceNumber(rs.getLong(1));
-        event.setTimeStamp(rs.getLong(2));
-        event.setRenderedMessage(rs.getString(3));
-        event.setLoggerName(rs.getString(4));
-        String levelStr = rs.getString(5);
-
-        // TODO CG The conversion of levelStr should be more general
-        Level level = Level.toLevel(levelStr);
-        event.setLevel(level);
-        event.setNDC(rs.getString(6));
-        event.setThreadName(rs.getString(7));
+        ndc = rs.getString(6);
+        threadName = rs.getString(7);
 
         short mask = rs.getShort(8);
 
-        String fileName = rs.getString(9);
-        String className = rs.getString(10);
-        String methodName = rs.getString(11);
-        String lineNumber = rs.getString(12).trim();
+        fileName = rs.getString(9);
+        className = rs.getString(10);
+        methodName = rs.getString(11);
+        lineNumber = rs.getString(12).trim();
 
+               LocationInfo locationInfo = null;
         if (fileName.equals(LocationInfo.NA)) {
-          event.setLocationInformation(LocationInfo.NA_LOCATION_INFO);
+          locationInfo = LocationInfo.NA_LOCATION_INFO;
         } else {
-          event.setLocationInformation(new LocationInfo(fileName, className,
-              methodName, lineNumber));
+          locationInfo = new LocationInfo(fileName, className,
+              methodName, lineNumber);
         }
 
         long id = rs.getLong(13);
         //LogLog.info("Received event with id=" + id);
         lastId = id;
 
+               ThrowableInformation throwableInfo = null;
+        if ((mask & DBHelper.EXCEPTION_EXISTS) != 0) {
+          throwableInfo = getException(connection, id);
+        }
+
+           LoggingEvent event = new LoggingEvent(logger.getName(),
+                   logger, timeStamp, levelImpl, message,
+                   threadName,
+                   throwableInfo,
+                   ndc,
+                   locationInfo,
+                   properties);
+
+
         // Scott asked for this info to be
         event.setProperty(Constants.LOG4J_ID_KEY, Long.toString(id));
 
@@ -114,9 +139,8 @@
           getProperties(connection, id, event);
         }
 
-        if ((mask & DBHelper.EXCEPTION_EXISTS) != 0) {
-          getException(connection, id, event);
-        }
+
+
 
         if (!parentDBReceiver.isPaused()) {
           parentDBReceiver.doPost(event);
@@ -177,7 +201,7 @@
    * @param event
    * @throws SQLException
    */
-  void getException(Connection connection, long id, LoggingEvent event)
+  ThrowableInformation getException(Connection connection, long id)
       throws SQLException {
 
     PreparedStatement statement = null;
@@ -200,7 +224,7 @@
         strRep[i] = (String) v.get(i);
       }
       // we've filled strRep, we now attach it to the event
-      event.setThrowableInformation(new ThrowableInformation(strRep));
+      return new ThrowableInformation(strRep);
     } finally {
       if (statement != null) {
         statement.close();



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

Reply via email to