You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-auto@ws.apache.org by jo...@apache.org on 2008/08/05 16:28:45 UTC
svn commit: r682723 - in
/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc:
server/XmlRpcErrorLogger.java server/XmlRpcStreamServer.java
webserver/WebServer.java webserver/XmlRpcServlet.java
Author: jochen
Date: Tue Aug 5 07:28:44 2008
New Revision: 682723
URL: http://svn.apache.org/viewvc?rev=682723&view=rev
Log:
PR: XMLRPC-156
Added the XmlRpcErrorLogger, which allows to customize the error logging.
Added:
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcErrorLogger.java
Modified:
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java
webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java
Added: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcErrorLogger.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcErrorLogger.java?rev=682723&view=auto
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcErrorLogger.java (added)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcErrorLogger.java Tue Aug 5 07:28:44 2008
@@ -0,0 +1,27 @@
+package org.apache.xmlrpc.server;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+
+/**
+ * Instances of this class can be used to customize the servers
+ * error logging.
+ */
+public class XmlRpcErrorLogger {
+ private static final Log log = LogFactory.getLog(XmlRpcErrorLogger.class);
+
+ /**
+ * Called to log the given error.
+ */
+ public void log(String pMessage, Throwable pThrowable) {
+ log.error(pMessage, pThrowable);
+ }
+
+ /**
+ * Called to log the given error message.
+ */
+ public void log(String pMessage) {
+ log.error(pMessage);
+ }
+}
Modified: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java?rev=682723&r1=682722&r2=682723&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java (original)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/server/XmlRpcStreamServer.java Tue Aug 5 07:28:44 2008
@@ -50,7 +50,9 @@
implements XmlRpcStreamRequestProcessor {
private static final Log log = LogFactory.getLog(XmlRpcStreamServer.class);
private XmlWriterFactory writerFactory = new DefaultXMLWriterFactory();
-
+ private static final XmlRpcErrorLogger theErrorLogger = new XmlRpcErrorLogger();
+ private XmlRpcErrorLogger errorLogger = theErrorLogger;
+
protected XmlRpcRequest getRequest(final XmlRpcStreamRequestConfig pConfig,
InputStream pStream) throws XmlRpcException {
final XmlRpcRequestParser parser = new XmlRpcRequestParser(pConfig, getTypeFactory());
@@ -194,7 +196,7 @@
error = null;
log.debug("execute: Request performed successfully");
} catch (Throwable t) {
- log.error("execute: Error while performing request", t);
+ logError(t);
result = null;
error = t;
} finally {
@@ -242,4 +244,23 @@
}
log.debug("execute: <-");
}
+
+ protected void logError(Throwable t) {
+ final String msg = t.getMessage() == null ? t.getClass().getName() : t.getMessage();
+ errorLogger.log(msg, t);
+ }
+
+ /**
+ * Returns the error logger.
+ */
+ public XmlRpcErrorLogger getErrorLogger() {
+ return errorLogger;
+ }
+
+ /**
+ * Sets the error logger.
+ */
+ public void setErrorLogger(XmlRpcErrorLogger pErrorLogger) {
+ errorLogger = pErrorLogger;
+ }
}
Modified: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java?rev=682723&r1=682722&r2=682723&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java (original)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/WebServer.java Tue Aug 5 07:28:44 2008
@@ -388,14 +388,15 @@
* @param pError The error being logged.
*/
public void log(Throwable pError) {
- log.error(pError.getMessage(), pError);
+ final String msg = pError.getMessage() == null ? pError.getClass().getName() : pError.getMessage();
+ server.getErrorLogger().log(msg, pError);
}
/** Logs a message.
* @param pMessage The being logged.
*/
- public synchronized void log(String pMessage) {
- log.error(pMessage);
+ public void log(String pMessage) {
+ server.getErrorLogger().log(pMessage);
}
/** Returns the {@link org.apache.xmlrpc.server.XmlRpcServer}.
Modified: webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java?rev=682723&r1=682722&r2=682723&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java (original)
+++ webservices/xmlrpc/trunk/server/src/main/java/org/apache/xmlrpc/webserver/XmlRpcServlet.java Tue Aug 5 07:28:44 2008
@@ -192,7 +192,7 @@
}
public void log(String pMessage, Throwable pThrowable) {
- log.error(pMessage, pThrowable);
+ server.getErrorLogger().log(pMessage, pThrowable);
}
public void log(String pMessage) {