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]