summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-12-04 10:34:15 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-12-04 10:34:15 +0000
commit06b65e719cd1e7dfc900795fca902b7eaf988299 (patch)
tree5bc5ca03293cad881875d8de813040feb8024b0e /java
parent716dedd48f5ee0d6f5640d4850ec7f273f5e91d9 (diff)
downloadqpid-python-06b65e719cd1e7dfc900795fca902b7eaf988299.tar.gz
Merged r887145 from 0.5.x-dev
QPID-1992 : Ensure there is only one location where strings are built for logging. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@887152 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java26
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java89
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java10
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java15
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/AbstractLogSubject.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ChannelLogSubject.java25
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubject.java97
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java23
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/subjects/TestBlankSubject.java2
9 files changed, 152 insertions, 141 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
index a4f178eba7..d961836acc 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPChannelActor.java
@@ -40,7 +40,7 @@ import java.text.MessageFormat;
*/
public class AMQPChannelActor extends AbstractActor
{
- private final String _logString;
+ private final ChannelLogSubject _logString;
/**
* Create a new ChannelActor
@@ -52,33 +52,13 @@ public class AMQPChannelActor extends AbstractActor
{
super(rootLogger);
- AMQProtocolSession session = channel.getProtocolSession();
- /**
- * LOG FORMAT used by the AMQPConnectorActor follows
- * ChannelLogSubject.CHANNEL_FORMAT :
- * con:{0}({1}@{2}/{3})/ch:{4}
- *
- * Uses a MessageFormat call to insert the requried values according to
- * these indicies:
- *
- * 0 - Connection ID
- * 1 - User ID
- * 2 - IP
- * 3 - Virtualhost
- */
- _logString = "[" + MessageFormat.format(ChannelLogSubject.CHANNEL_FORMAT,
- session.getSessionID(),
- session.getPrincipal().getName(),
- session.getRemoteAddress(),
- session.getVirtualHost().getName(),
- channel.getChannelId())
- + "] ";
+ _logString = new ChannelLogSubject(channel);
}
public String getLogMessage()
{
- return _logString;
+ return _logString.toString();
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
index 20c416fed0..4149aed529 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AMQPConnectionActor.java
@@ -24,7 +24,7 @@ import org.apache.qpid.server.logging.RootMessageLogger;
import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
import org.apache.qpid.server.protocol.AMQProtocolSession;
-import java.text.MessageFormat;
+
/**
* An AMQPConnectionActor represtents a connectionthrough the AMQP port.
@@ -37,99 +37,18 @@ import java.text.MessageFormat;
*/
public class AMQPConnectionActor extends AbstractActor
{
- /**
- * 0 - Connection ID
- * 1 - Remote Address
- */
- public static String SOCKET_FORMAT = "con:{0}({1})";
-
- /**
- * LOG FORMAT for the ConnectionLogSubject,
- * Uses a MessageFormat call to insert the requried values according to
- * these indicies:
- *
- * 0 - Connection ID
- * 1 - User ID
- * 2 - IP
- */
- public static final String USER_FORMAT = "con:{0}({1}@{2})";
-
- // The log string prefix for each message
- private String _logString;
-
- // The Session this Actor is representing
- private AMQProtocolSession _session;
-
- // Used to stop re-creating the _logString when we reach our final format
- private boolean _upToDate = false;
+ private ConnectionLogSubject _logSubject;
public AMQPConnectionActor(AMQProtocolSession session, RootMessageLogger rootLogger)
{
super(rootLogger);
- _logString = "[" + MessageFormat.format(SOCKET_FORMAT,
- session.getSessionID(),
- session.getRemoteAddress())
- + "] ";
-
- _session = session;
- }
-
- /**
- * Update the LogString as the Connection process proceeds.
- *
- * When the Session has an authorized ID add that to the string.
- *
- * When the Session then gains a Vhost add that to the string, at this point
- * we can set upToDate = true as the _logString will not need to be updated
- * from this point onwards.
- */
- private void updateLogString()
- {
- if (!_upToDate)
- {
- if (_session.getPrincipal() != null)
- {
- if (_session.getVirtualHost() != null)
- {
- /**
- * LOG FORMAT used by the AMQPConnectorActor follows
- * ConnectionLogSubject.CONNECTION_FORMAT :
- * con:{0}({1}@{2}/{3})
- *
- * Uses a MessageFormat call to insert the required values according to
- * these indices:
- *
- * 0 - Connection ID
- * 1 - User ID
- * 2 - IP
- * 3 - Virtualhost
- */
- _logString = "[" + MessageFormat.format(ConnectionLogSubject.CONNECTION_FORMAT,
- _session.getSessionID(),
- _session.getPrincipal().getName(),
- _session.getRemoteAddress(),
- _session.getVirtualHost().getName())
- + "] ";
- _upToDate = true;
- }
- else
- {
- _logString = "[" + MessageFormat.format(USER_FORMAT,
- _session.getSessionID(),
- _session.getPrincipal().getName(),
- _session.getRemoteAddress())
- + "] ";
-
- }
- }
- }
+ _logSubject = new ConnectionLogSubject(session);
}
public String getLogMessage()
{
- updateLogString();
- return _logString;
+ return _logSubject.toString();
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
index e62e711514..7d81b03de4 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/QueueActor.java
@@ -32,7 +32,7 @@ import java.text.MessageFormat;
*/
public class QueueActor extends AbstractActor
{
- private final String _logString;
+ private QueueLogSubject _logSubject;
/**
* Create an QueueLogSubject that Logs in the following format.
@@ -44,14 +44,12 @@ public class QueueActor extends AbstractActor
{
super(rootLogger);
- _logString = "[" + MessageFormat.format(QueueLogSubject.LOG_FORMAT,
- queue.getVirtualHost().getName(),
- queue.getName()) + "] ";
+ _logSubject = new QueueLogSubject(queue);
}
public String getLogMessage()
{
- return _logString;
+ return _logSubject.toString();
}
}
- \ No newline at end of file
+
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
index 63892e6353..542984e76c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/SubscriptionActor.java
@@ -27,24 +27,23 @@ import org.apache.qpid.server.subscription.Subscription;
import java.text.MessageFormat;
+/**
+ * The subscription actor provides formatted logging for actions that are
+ * performed by the subsciption. Such as SUB_STATE changes.
+ */
public class SubscriptionActor extends AbstractActor
{
- public static String SUBSCRIBER_FORMAT = "sub:{0}(vh({1})/qu({2}))";
- private final String _logString;
+ private SubscriptionLogSubject _logSubject;
public SubscriptionActor(RootMessageLogger logger, Subscription subscription)
{
super(logger);
- _logString = "[" + MessageFormat.format(SubscriptionLogSubject.SUBSCRIPTION_FORMAT,
- subscription.getSubscriptionID(),
- subscription.getQueue().getVirtualHost().getName(),
- subscription.getQueue().getName())
- + "] ";
+ _logSubject = new SubscriptionLogSubject(subscription);
}
public String getLogMessage()
{
- return _logString;
+ return _logSubject.toString();
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/AbstractLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/AbstractLogSubject.java
index 4fb5bdcc93..d7be9ea4c7 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/AbstractLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/AbstractLogSubject.java
@@ -36,7 +36,7 @@ public abstract class AbstractLogSubject implements LogSubject
/**
* The logString that will be returned via toString
*/
- protected String logString;
+ protected String _logString;
/**
* Set the toString logging of this LogSubject. Based on a format provided
@@ -46,7 +46,7 @@ public abstract class AbstractLogSubject implements LogSubject
*/
protected void setLogStringWithFormat(String format, Object... args)
{
- logString = "[" + MessageFormat.format(format, args) + "] ";
+ _logString = "[" + MessageFormat.format(format, args) + "] ";
}
/**
@@ -58,7 +58,7 @@ public abstract class AbstractLogSubject implements LogSubject
@Override
public String toString()
{
- return logString;
+ return _logString;
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ChannelLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ChannelLogSubject.java
index 03afd0b772..62cff049d0 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ChannelLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ChannelLogSubject.java
@@ -43,12 +43,25 @@ public class ChannelLogSubject extends AbstractLogSubject
{
AMQProtocolSession session = channel.getProtocolSession();
- // Provide the value for the 4th replacement.
+ /**
+ * LOG FORMAT used by the AMQPConnectorActor follows
+ * ChannelLogSubject.CHANNEL_FORMAT :
+ * con:{0}({1}@{2}/{3})/ch:{4}
+ *
+ * Uses a MessageFormat call to insert the required values according to
+ * these indices:
+ *
+ * 0 - Connection ID
+ * 1 - User ID
+ * 2 - IP
+ * 3 - Virtualhost
+ * 4 - Channel ID
+ */
setLogStringWithFormat(CHANNEL_FORMAT,
- session.getSessionID(),
- session.getPrincipal().getName(),
- session.getRemoteAddress(),
- session.getVirtualHost().getName(),
- channel.getChannelId());
+ session.getSessionID(),
+ session.getAuthorizedID().getName(),
+ session.getRemoteAddress(),
+ session.getVirtualHost().getName(),
+ channel.getChannelId());
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubject.java
index 65d65a24d2..77576eddfb 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ConnectionLogSubject.java
@@ -22,11 +22,19 @@ package org.apache.qpid.server.logging.subjects;
import org.apache.qpid.server.protocol.AMQProtocolSession;
+import java.text.MessageFormat;
+
/** The Connection LogSubject */
public class ConnectionLogSubject extends AbstractLogSubject
{
/**
+ * 0 - Connection ID
+ * 1 - Remote Address
+ */
+ public static String SOCKET_FORMAT = "con:{0}({1})";
+
+ /**
* LOG FORMAT for the ConnectionLogSubject,
* Uses a MessageFormat call to insert the requried values according to
* these indicies:
@@ -34,15 +42,96 @@ public class ConnectionLogSubject extends AbstractLogSubject
* 0 - Connection ID
* 1 - User ID
* 2 - IP
+ */
+ public static final String USER_FORMAT = "con:{0}({1}@{2})";
+
+ /**
+ * LOG FORMAT for the ConnectionLogSubject,
+ * Uses a MessageFormat call to insert the required values according to
+ * these indices:
+ *
+ * 0 - Connection ID
+ * 1 - User ID
+ * 2 - IP
* 3 - Virtualhost
*/
public static final String CONNECTION_FORMAT = "con:{0}({1}@{2}/{3})";
+
public ConnectionLogSubject(AMQProtocolSession session)
{
- setLogStringWithFormat(CONNECTION_FORMAT, session.getSessionID(),
- session.getPrincipal().getName(),
- session.getRemoteAddress(),
- session.getVirtualHost().getName());
+ _session = session;
+ }
+
+ // The Session this Actor is representing
+ private AMQProtocolSession _session;
+
+ // Used to stop re-creating the _logString when we reach our final format
+ private boolean _upToDate = false;
+
+ /**
+ * Update the LogString as the Connection process proceeds.
+ *
+ * When the Session has an authorized ID add that to the string.
+ *
+ * When the Session then gains a Vhost add that to the string, at this point
+ * we can set upToDate = true as the _logString will not need to be updated
+ * from this point onwards.
+ */
+ private void updateLogString()
+ {
+ if (!_upToDate)
+ {
+ if (_session.getAuthorizedID() != null)
+ {
+ if (_session.getVirtualHost() != null)
+ {
+ /**
+ * LOG FORMAT used by the AMQPConnectorActor follows
+ * ConnectionLogSubject.CONNECTION_FORMAT :
+ * con:{0}({1}@{2}/{3})
+ *
+ * Uses a MessageFormat call to insert the required values according to
+ * these indices:
+ *
+ * 0 - Connection ID
+ * 1 - User ID
+ * 2 - IP
+ * 3 - Virtualhost
+ */
+ _logString = "[" + MessageFormat.format(ConnectionLogSubject.CONNECTION_FORMAT,
+ _session.getSessionID(),
+ _session.getAuthorizedID().getName(),
+ _session.getRemoteAddress(),
+ _session.getVirtualHost().getName())
+ + "] ";
+
+ _upToDate = true;
+ }
+ else
+ {
+ _logString = "[" + MessageFormat.format(USER_FORMAT,
+ _session.getSessionID(),
+ _session.getAuthorizedID().getName(),
+ _session.getRemoteAddress())
+ + "] ";
+
+ }
+ }
+ else
+ {
+ _logString = "[" + MessageFormat.format(SOCKET_FORMAT,
+ _session.getSessionID(),
+ _session.getRemoteAddress())
+ + "] ";
+ }
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ updateLogString();
+ return super.toString();
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
index c842da4db0..2dde1b6b41 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/SubscriptionLogSubject.java
@@ -22,6 +22,8 @@ package org.apache.qpid.server.logging.subjects;
import org.apache.qpid.server.subscription.Subscription;
+import java.text.MessageFormat;
+
public class SubscriptionLogSubject extends AbstractLogSubject
{
@@ -31,9 +33,8 @@ public class SubscriptionLogSubject extends AbstractLogSubject
* these indicies:
*
* 0 - Subscription ID
- * 1 - queue name
*/
- public static String SUBSCRIPTION_FORMAT = "sub:{0}(vh(/{1})/qu({2}))";
+ public static String SUBSCRIPTION_FORMAT = "sub:{0}";
/**
* Create an QueueLogSubject that Logs in the following format.
@@ -42,8 +43,20 @@ public class SubscriptionLogSubject extends AbstractLogSubject
*/
public SubscriptionLogSubject(Subscription subscription)
{
- setLogStringWithFormat(SUBSCRIPTION_FORMAT, subscription.getSubscriptionID(),
- subscription.getQueue().getVirtualHost().getName(),
- subscription.getQueue().getName());
+ // Delegate the formating of the Queue to the QueueLogSubject. So final
+ // log string format is:
+ // [ sub:<id>(vh(<vhost>)/qu(<queue>)) ]
+
+ String queueString = new QueueLogSubject(subscription.getQueue()).toString();
+
+ _logString = "[" + MessageFormat.format(SubscriptionLogSubject.SUBSCRIPTION_FORMAT,
+ subscription.getSubscriptionID())
+ + "("
+ // queueString is [vh(/{0})/qu({1}) ] so need to trim
+ // ^ ^^
+ + queueString.substring(1,queueString.length() - 3)
+ + ")"
+ + "] ";
+
}
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/TestBlankSubject.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/TestBlankSubject.java
index 3028ad0409..89688e13b3 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/TestBlankSubject.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/TestBlankSubject.java
@@ -27,7 +27,7 @@ public class TestBlankSubject extends AbstractLogSubject
{
public TestBlankSubject()
{
- logString = "[TestBlankSubject]";
+ _logString = "[TestBlankSubject]";
}
}