This is an automated email from the ASF dual-hosted git repository.

orudyy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git

commit d8c2596a88ffb329e71d862fda12324ad6b545bd
Author: Alex Rudyy <oru...@apache.org>
AuthorDate: Sun May 30 19:54:27 2021 +0100

    QPID-8515: [Broker-J] Refactor create/delete/open/close operational logs
---
 .../berkeleydb/BDBHARemoteReplicationNodeImpl.java |   6 +-
 .../berkeleydb/BDBHAVirtualHostNodeImpl.java       |  16 +-
 ...BDBHAVirtualHostNodeOperationalLoggingTest.java |  29 ++-
 .../qpid/server/exchange/AbstractExchange.java     |  30 +--
 .../logging/messages/AccessControlMessages.java    |  36 ++--
 .../messages/AccessControl_logmessages.properties  |  19 +-
 .../messages/AuthenticationProviderMessages.java   |  36 ++--
 .../AuthenticationProvider_logmessages.properties  |  20 +-
 .../server/logging/messages/ExchangeMessages.java  | 166 ++++++++++++---
 .../messages/Exchange_logmessages.properties       |  19 +-
 .../logging/messages/HighAvailabilityMessages.java |  40 ++--
 .../HighAvailability_logmessages.properties        |  10 +-
 .../server/logging/messages/KeyStoreMessages.java  |  36 ++--
 .../messages/KeyStore_logmessages.properties       |  19 +-
 .../qpid/server/logging/messages/PortMessages.java |  32 ++-
 .../logging/messages/Port_logmessages.properties   |  18 +-
 .../server/logging/messages/QueueMessages.java     | 181 +++++++++++------
 .../logging/messages/Queue_logmessages.properties  |  21 +-
 .../logging/messages/TrustStoreMessages.java       |  36 ++--
 .../messages/TrustStore_logmessages.properties     |  19 +-
 .../logging/messages/VirtualHostMessages.java      |  92 +++++++--
 .../messages/VirtualHost_logmessages.properties    |  14 +-
 .../qpid/server/model/port/AbstractPort.java       |  27 +--
 .../apache/qpid/server/queue/AbstractQueue.java    |  43 +---
 .../qpid/server/queue/PriorityQueueImpl.java       |  14 --
 .../qpid/server/security/AbstractKeyStore.java     |  29 +--
 .../qpid/server/security/AbstractTrustStore.java   |  29 +--
 .../AllowAllAccessControlProviderImpl.java         |  40 +++-
 .../access/AbstractAccessControlProvider.java      |  29 +--
 .../manager/AbstractAuthenticationManager.java     |  35 +---
 .../server/virtualhost/AbstractVirtualHost.java    |  22 +-
 .../logging/messages/ExchangeMessagesTest.java     |  58 +++---
 .../server/logging/messages/QueueMessagesTest.java | 222 ++-------------------
 .../logging/messages/VirtualHostMessagesTest.java  |  19 +-
 34 files changed, 769 insertions(+), 693 deletions(-)

diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
index cd98aa9..946e2b7 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHARemoteReplicationNodeImpl.java
@@ -36,6 +36,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.logging.messages.HighAvailabilityMessages;
 import org.apache.qpid.server.logging.subjects.BDBHAVirtualHostNodeLogSubject;
 import org.apache.qpid.server.logging.subjects.GroupLogSubject;
@@ -134,11 +135,14 @@ public class BDBHARemoteReplicationNodeImpl extends 
AbstractConfiguredObject<BDB
             try
             {
                 _replicatedEnvironmentFacade.removeNodeFromGroup(nodeName);
-                getEventLogger().message(_virtualHostNodeLogSubject, 
HighAvailabilityMessages.DELETED());
+                getEventLogger().message(_virtualHostNodeLogSubject,
+                                         
HighAvailabilityMessages.DELETE(getName(), String.valueOf(Outcome.SUCCESS)));
                 future.set(null);
             }
             catch (RuntimeException e)
             {
+                getEventLogger().message(_virtualHostNodeLogSubject,
+                                         
HighAvailabilityMessages.DELETE(getName(), String.valueOf(Outcome.FAILURE)));
                 future.setException(e);
             }
             return future;
diff --git 
a/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
 
b/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
index b5ec316..c1a875c 100644
--- 
a/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
+++ 
b/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeImpl.java
@@ -457,7 +457,9 @@ public class BDBHAVirtualHostNodeImpl extends 
AbstractVirtualHostNode<BDBHAVirtu
                                  {
                                      
configurationStore.closeConfigurationStore();
                                      
configurationStore.onDelete(BDBHAVirtualHostNodeImpl.this);
-                                     
getEventLogger().message(getVirtualHostNodeLogSubject(), 
HighAvailabilityMessages.DELETED());
+                                     
getEventLogger().message(getVirtualHostNodeLogSubject(),
+                                                              
HighAvailabilityMessages.DELETE(getName(),
+                                                                               
               String.valueOf(Outcome.SUCCESS)));
                                  }
 
                                  if (!helpers.isEmpty())
@@ -1479,14 +1481,10 @@ public class BDBHAVirtualHostNodeImpl extends 
AbstractVirtualHostNode<BDBHAVirtu
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(getVirtualHostNodeLogSubject(), 
HighAvailabilityMessages.CREATED());
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        getEventLogger().message(getVirtualHostNodeLogSubject(),
+                                 HighAvailabilityMessages.CREATE(getName(),
+                                                                 
String.valueOf(outcome),
+                                                                 
attributesAsString(attributes)));
     }
 
     @Override
diff --git 
a/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
 
b/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
index 5f882a3..76cd689 100644
--- 
a/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
+++ 
b/bdbstore/src/test/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBHAVirtualHostNodeOperationalLoggingTest.java
@@ -36,6 +36,7 @@ import java.util.EnumSet;
 import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 import org.hamcrest.Description;
 import org.junit.After;
@@ -46,6 +47,7 @@ import org.mockito.ArgumentMatcher;
 import org.apache.qpid.server.logging.EventLogger;
 import org.apache.qpid.server.logging.LogMessage;
 import org.apache.qpid.server.logging.LogSubject;
+import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.logging.messages.HighAvailabilityMessages;
 import org.apache.qpid.server.model.AbstractConfigurationChangeListener;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -102,6 +104,9 @@ public class BDBHAVirtualHostNodeOperationalLoggingTest 
extends UnitTestBase
         Map<String, Object> node1Attributes = 
_helper.createNodeAttributes(nodeName, groupName, helperAddress, helperAddress, 
nodeName, node1PortNumber);
         BDBHAVirtualHostNodeImpl node1 = 
(BDBHAVirtualHostNodeImpl)_helper.createHaVHN(node1Attributes);
 
+        final String address = node1.getAddress();
+        final String createTime = 
node1.getCreatedTime().toInstant().toString();
+        final String updateTime = 
node1.getLastUpdatedTime().toInstant().toString();
         _helper.assertNodeRole(node1, NodeRole.MASTER);
 
         // stop node to avoid running into race when role change is reported 
after we performed the check
@@ -113,9 +118,25 @@ public class BDBHAVirtualHostNodeOperationalLoggingTest 
extends UnitTestBase
 
         assertEquals("Unexpected group log subject", "[grp(/group)] ", 
node1.getGroupLogSubject().getLogString());
 
-        String expectedMessage = HighAvailabilityMessages.CREATED().toString();
+        String attributes = String.format(
+                "{address=%s,context={je.rep.insufficientReplicasTimeout=2 s, 
je.rep.replicaAckTimeout=2 
s},createdTime=%s,groupName=%s,helperAddress=%s,id=%s,lastUpdatedTime=%s,name=%s,permittedNodes=[%s],storePath=%s,type=%s,virtualHostInitialConfiguration={\n
  \"type\" : \"BDB_HA\"\n}}",
+                address,
+                createTime,
+                groupName,
+                helperAddress,
+                node1.getId(),
+                updateTime,
+                nodeName,
+                address,
+                node1.getStorePath(),
+                node1.getType()
+                );
+
+        String expectedMessage = HighAvailabilityMessages.CREATE(nodeName,
+                                                                 
String.valueOf(Outcome.SUCCESS),
+                                                                 
attributes).toString();
         verify(_eventLogger).message(argThat(new 
LogSubjectMatcher(node1.getVirtualHostNodeLogSubject())),
-                argThat(new LogMessageMatcher(expectedMessage, 
HighAvailabilityMessages.CREATED_LOG_HIERARCHY)));
+                argThat(new LogMessageMatcher(expectedMessage, 
HighAvailabilityMessages.CREATE_LOG_HIERARCHY)));
 
         expectedMessage = 
HighAvailabilityMessages.ROLE_CHANGED(node1.getName(), node1.getAddress(), 
NodeRole.WAITING.name(), NodeRole.MASTER.name()).toString();
         verify(_eventLogger).message(argThat(new 
LogSubjectMatcher(node1.getGroupLogSubject())),
@@ -138,9 +159,9 @@ public class BDBHAVirtualHostNodeOperationalLoggingTest 
extends UnitTestBase
 
         node1.delete();
 
-        String expectedMessage = HighAvailabilityMessages.DELETED().toString();
+        String expectedMessage = HighAvailabilityMessages.DELETE(nodeName, 
String.valueOf(Outcome.SUCCESS)).toString();
         verify(_eventLogger).message(argThat(new 
LogSubjectMatcher(node1.getVirtualHostNodeLogSubject())),
-                argThat(new LogMessageMatcher(expectedMessage, 
HighAvailabilityMessages.DELETED_LOG_HIERARCHY)));
+                argThat(new LogMessageMatcher(expectedMessage, 
HighAvailabilityMessages.DELETE_LOG_HIERARCHY)));
 
     }
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
 
b/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
index 61f855f..7491c44 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
@@ -1087,40 +1087,22 @@ public abstract class AbstractExchange<T extends 
AbstractExchange<T>>
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, 
ExchangeMessages.CREATED(getType(), getName(), isDurable()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        getEventLogger().message(_logSubject,
+                                 ExchangeMessages.CREATE(getName(),
+                                                         
String.valueOf(outcome),
+                                                         
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, 
ExchangeMessages.CREATED(getType(), getName(), isDurable()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        getEventLogger().message(_logSubject, ExchangeMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, ExchangeMessages.DELETED());
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        getEventLogger().message(_logSubject, 
ExchangeMessages.DELETE(getName(), String.valueOf(outcome)));
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControlMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControlMessages.java
index 84be31e..9a477ff 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControlMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControlMessages.java
@@ -151,16 +151,21 @@ public class AccessControlMessages
 
     /**
      * Log a AccessControl message of the Format:
-     * <pre>ACL-1013 : Close</pre>
+     * <pre>ACL-1013 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSE()
+    public static LogMessage CLOSE(String param1)
     {
         String rawMessage = _messages.getString("CLOSE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -206,16 +211,16 @@ public class AccessControlMessages
 
     /**
      * Log a AccessControl message of the Format:
-     * <pre>ACL-1011 : Create "{0}"</pre>
+     * <pre>ACL-1011 : Create "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATE(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
         String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -266,16 +271,16 @@ public class AccessControlMessages
 
     /**
      * Log a AccessControl message of the Format:
-     * <pre>ACL-1014 : Delete "{0}"</pre>
+     * <pre>ACL-1014 : Delete "{0}": {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETE(String param1)
+    public static LogMessage DELETE(String param1, String param2)
     {
         String rawMessage = _messages.getString("DELETE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -446,16 +451,21 @@ public class AccessControlMessages
 
     /**
      * Log a AccessControl message of the Format:
-     * <pre>ACL-1012 : Open</pre>
+     * <pre>ACL-1012 : Open : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage OPEN()
+    public static LogMessage OPEN(String param1, String param2)
     {
         String rawMessage = _messages.getString("OPEN");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -561,7 +571,7 @@ public class AccessControlMessages
 
     /**
      * Log a AccessControl message of the Format:
-     * <pre>ACL-1017 : Update : {0} : {1} : {2}</pre>
+     * <pre>ACL-1017 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControl_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControl_logmessages.properties
index 232174d..3da7dfb 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControl_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AccessControl_logmessages.properties
@@ -25,10 +25,21 @@ ALLOWED = ACL-1001 : Allowed : {0} {1} {2}
 # 'deny-log' rule message
 DENIED = ACL-1002 : Denied : {0} {1} {2}
 
-CREATE = ACL-1011 : Create "{0}"
-OPEN = ACL-1012 : Open
-CLOSE = ACL-1013 : Close
-DELETE = ACL-1014 : Delete "{0}"
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = ACL-1011 : Create "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = ACL-1012 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = ACL-1013 : Close : "{0}"
+
+# 0 - object name
+# 1 - outcome
+DELETE = ACL-1014 : Delete "{0}": {1}
 LOADED = ACL-1015 : Rules loaded : Source "{0}"
 # 0 - operation name
 OPERATION = ACL-1016 : Operation : {0}
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProviderMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProviderMessages.java
index ba75020..e69e984 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProviderMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProviderMessages.java
@@ -170,16 +170,21 @@ public class AuthenticationProviderMessages
 
     /**
      * Log a AuthenticationProvider message of the Format:
-     * <pre>ATH-1003 : Close</pre>
+     * <pre>ATH-1003 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSE()
+    public static LogMessage CLOSE(String param1)
     {
         String rawMessage = _messages.getString("CLOSE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -225,16 +230,16 @@ public class AuthenticationProviderMessages
 
     /**
      * Log a AuthenticationProvider message of the Format:
-     * <pre>ATH-1001 : Create "{0}"</pre>
+     * <pre>ATH-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATE(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
         String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -285,16 +290,16 @@ public class AuthenticationProviderMessages
 
     /**
      * Log a AuthenticationProvider message of the Format:
-     * <pre>ATH-1004 : Delete "{0}"</pre>
+     * <pre>ATH-1004 : Delete "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETE(String param1)
+    public static LogMessage DELETE(String param1, String param2)
     {
         String rawMessage = _messages.getString("DELETE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -345,16 +350,21 @@ public class AuthenticationProviderMessages
 
     /**
      * Log a AuthenticationProvider message of the Format:
-     * <pre>ATH-1002 : Open</pre>
+     * <pre>ATH-1002 : Open : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage OPEN()
+    public static LogMessage OPEN(String param1, String param2)
     {
         String rawMessage = _messages.getString("OPEN");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -460,7 +470,7 @@ public class AuthenticationProviderMessages
 
     /**
      * Log a AuthenticationProvider message of the Format:
-     * <pre>ATH-1011 : Update : {0} : {1} : {2}</pre>
+     * <pre>ATH-1011 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProvider_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProvider_logmessages.properties
index 59068ac..f8a2f30 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProvider_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/AuthenticationProvider_logmessages.properties
@@ -18,10 +18,22 @@
 #
 # Default File used for all non-defined locales.
 
-CREATE = ATH-1001 : Create "{0}"
-OPEN = ATH-1002 : Open
-CLOSE = ATH-1003 : Close
-DELETE = ATH-1004 : Delete "{0}"
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = ATH-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = ATH-1002 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = ATH-1003 : Close : "{0}"
+
+# 0 - object name
+# 1 - outcome
+DELETE = ATH-1004 : Delete "{0}" : {1}
+
 # 0 - operation name
 OPERATION = ATH-1005 : Operation : {0}
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ExchangeMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ExchangeMessages.java
index bc2adaa..3d37b49 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ExchangeMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ExchangeMessages.java
@@ -63,18 +63,22 @@ public class ExchangeMessages
     }
 
     public static final String EXCHANGE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange";
-    public static final String CREATED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.created";
-    public static final String DELETED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.deleted";
+    public static final String CLOSE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.close";
+    public static final String CREATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.create";
+    public static final String DELETE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.delete";
     public static final String DISCARDMSG_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.discardmsg";
+    public static final String OPEN_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.open";
     public static final String OPERATION_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.operation";
     public static final String UPDATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.update";
 
     static
     {
         LoggerFactory.getLogger(EXCHANGE_LOG_HIERARCHY);
-        LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
-        LoggerFactory.getLogger(DELETED_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CLOSE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CREATE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(DELETE_LOG_HIERARCHY);
         LoggerFactory.getLogger(DISCARDMSG_LOG_HIERARCHY);
+        LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
         LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
         LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
 
@@ -83,39 +87,76 @@ public class ExchangeMessages
 
     /**
      * Log a Exchange message of the Format:
-     * <pre>EXH-1001 : Create :[ Durable] Type: {0} Name: {1}</pre>
+     * <pre>EXH-1007 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATED(String param1, String param2, boolean 
opt1)
+    public static LogMessage CLOSE(String param1)
     {
-        String rawMessage = _messages.getString("CREATED");
-        StringBuffer msg = new StringBuffer();
+        String rawMessage = _messages.getString("CLOSE");
 
-        // Split the formatted message up on the option values so we can
-        // rebuild the message based on the configured options.
-        String[] parts = rawMessage.split("\\[");
-        msg.append(parts[0]);
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
 
-        int end;
-        if (parts.length > 1)
+        final String message = formatter.format(messageArguments);
+
+        return new LogMessage()
         {
+            @Override
+            public String toString()
+            {
+                return message;
+            }
 
-            // Add Option : Durable.
-            end = parts[1].indexOf(']');
-            if (opt1)
+            @Override
+            public String getLogHierarchy()
             {
-                msg.append(parts[1].substring(0, end));
+                return CLOSE_LOG_HIERARCHY;
             }
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[1].substring(end + 1));
-        }
+            @Override
+            public boolean equals(final Object o)
+            {
+                if (this == o)
+                {
+                    return true;
+                }
+                if (o == null || getClass() != o.getClass())
+                {
+                    return false;
+                }
 
-        rawMessage = msg.toString();
+                final LogMessage that = (LogMessage) o;
 
-        final Object[] messageArguments = {param1, param2};
+                return getLogHierarchy().equals(that.getLogHierarchy()) && 
toString().equals(that.toString());
+
+            }
+
+            @Override
+            public int hashCode()
+            {
+                int result = toString().hashCode();
+                result = 31 * result + getLogHierarchy().hashCode();
+                return result;
+            }
+        };
+    }
+
+    /**
+     * Log a Exchange message of the Format:
+     * <pre>EXH-1001 : Create : "{0}" : {1} : {2}</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
+    {
+        String rawMessage = _messages.getString("CREATE");
+
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -133,7 +174,7 @@ public class ExchangeMessages
             @Override
             public String getLogHierarchy()
             {
-                return CREATED_LOG_HIERARCHY;
+                return CREATE_LOG_HIERARCHY;
             }
 
             @Override
@@ -166,16 +207,21 @@ public class ExchangeMessages
 
     /**
      * Log a Exchange message of the Format:
-     * <pre>EXH-1002 : Deleted</pre>
+     * <pre>EXH-1002 : Delete : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETED()
+    public static LogMessage DELETE(String param1, String param2)
     {
-        String rawMessage = _messages.getString("DELETED");
+        String rawMessage = _messages.getString("DELETE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -188,7 +234,7 @@ public class ExchangeMessages
             @Override
             public String getLogHierarchy()
             {
-                return DELETED_LOG_HIERARCHY;
+                return DELETE_LOG_HIERARCHY;
             }
 
             @Override
@@ -281,6 +327,66 @@ public class ExchangeMessages
 
     /**
      * Log a Exchange message of the Format:
+     * <pre>EXH-1006 : Open : "{0}" : {1}</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage OPEN(String param1, String param2)
+    {
+        String rawMessage = _messages.getString("OPEN");
+
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
+
+        return new LogMessage()
+        {
+            @Override
+            public String toString()
+            {
+                return message;
+            }
+
+            @Override
+            public String getLogHierarchy()
+            {
+                return OPEN_LOG_HIERARCHY;
+            }
+
+            @Override
+            public boolean equals(final Object o)
+            {
+                if (this == o)
+                {
+                    return true;
+                }
+                if (o == null || getClass() != o.getClass())
+                {
+                    return false;
+                }
+
+                final LogMessage that = (LogMessage) o;
+
+                return getLogHierarchy().equals(that.getLogHierarchy()) && 
toString().equals(that.toString());
+
+            }
+
+            @Override
+            public int hashCode()
+            {
+                int result = toString().hashCode();
+                result = 31 * result + getLogHierarchy().hashCode();
+                return result;
+            }
+        };
+    }
+
+    /**
+     * Log a Exchange message of the Format:
      * <pre>EXH-1004 : Operation : {0}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
@@ -341,7 +447,7 @@ public class ExchangeMessages
 
     /**
      * Log a Exchange message of the Format:
-     * <pre>EXH-1005 : Update : {0} : {1} : {2}</pre>
+     * <pre>EXH-1005 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Exchange_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Exchange_logmessages.properties
index 697d4a5..2121418 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Exchange_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Exchange_logmessages.properties
@@ -18,10 +18,14 @@
 #
 # Default File used for all non-defined locales.
 
-# 0 - type
-# 1 - name
-CREATED = EXH-1001 : Create :[ Durable] Type: {0} Name: {1}
-DELETED = EXH-1002 : Deleted
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = EXH-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+DELETE = EXH-1002 : Delete : "{0}" : {1}
 DISCARDMSG = EXH-1003 : Discarded Message : Name: "{0}" Routing Key: "{1}"
 # 0 - operation name
 OPERATION = EXH-1004 : Operation : {0}
@@ -30,3 +34,10 @@ OPERATION = EXH-1004 : Operation : {0}
 # 1 - outcome
 # 2 - attributes
 UPDATE = EXH-1005 : Update : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = EXH-1006 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = EXH-1007 : Close : "{0}"
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
index 4d3847e..fa79801 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailabilityMessages.java
@@ -64,8 +64,8 @@ public class HighAvailabilityMessages
 
     public static final String HIGHAVAILABILITY_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability";
     public static final String ADDED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.added";
-    public static final String CREATED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.created";
-    public static final String DELETED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.deleted";
+    public static final String CREATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.create";
+    public static final String DELETE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.delete";
     public static final String DESIGNATED_PRIMARY_CHANGED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.designated_primary_changed";
     public static final String INTRUDER_DETECTED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.intruder_detected";
     public static final String JOINED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.joined";
@@ -83,8 +83,8 @@ public class HighAvailabilityMessages
     {
         LoggerFactory.getLogger(HIGHAVAILABILITY_LOG_HIERARCHY);
         LoggerFactory.getLogger(ADDED_LOG_HIERARCHY);
-        LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
-        LoggerFactory.getLogger(DELETED_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CREATE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(DELETE_LOG_HIERARCHY);
         LoggerFactory.getLogger(DESIGNATED_PRIMARY_CHANGED_LOG_HIERARCHY);
         LoggerFactory.getLogger(INTRUDER_DETECTED_LOG_HIERARCHY);
         LoggerFactory.getLogger(JOINED_LOG_HIERARCHY);
@@ -163,16 +163,21 @@ public class HighAvailabilityMessages
 
     /**
      * Log a HighAvailability message of the Format:
-     * <pre>HA-1001 : Created</pre>
+     * <pre>HA-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATED()
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
-        String rawMessage = _messages.getString("CREATED");
+        String rawMessage = _messages.getString("CREATE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2, param3};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -185,7 +190,7 @@ public class HighAvailabilityMessages
             @Override
             public String getLogHierarchy()
             {
-                return CREATED_LOG_HIERARCHY;
+                return CREATE_LOG_HIERARCHY;
             }
 
             @Override
@@ -218,16 +223,21 @@ public class HighAvailabilityMessages
 
     /**
      * Log a HighAvailability message of the Format:
-     * <pre>HA-1002 : Deleted</pre>
+     * <pre>HA-1002 : Delete : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETED()
+    public static LogMessage DELETE(String param1, String param2)
     {
-        String rawMessage = _messages.getString("DELETED");
+        String rawMessage = _messages.getString("DELETE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -240,7 +250,7 @@ public class HighAvailabilityMessages
             @Override
             public String getLogHierarchy()
             {
-                return DELETED_LOG_HIERARCHY;
+                return DELETE_LOG_HIERARCHY;
             }
 
             @Override
@@ -923,7 +933,7 @@ public class HighAvailabilityMessages
 
     /**
      * Log a HighAvailability message of the Format:
-     * <pre>HA-1015 : Update : {0} : {1} : {2}</pre>
+     * <pre>HA-1015 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
index c76a200..3b18d73 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/HighAvailability_logmessages.properties
@@ -18,8 +18,14 @@
 #
 
 # HA logging message i18n strings.
-CREATED = HA-1001 : Created
-DELETED = HA-1002 : Deleted
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = HA-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+DELETE = HA-1002 : Delete : "{0}" : {1}
 
 # 0 - Node name
 # 1 - Node address
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStoreMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStoreMessages.java
index 4fdad9c..3f66c4f 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStoreMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStoreMessages.java
@@ -87,16 +87,21 @@ public class KeyStoreMessages
 
     /**
      * Log a KeyStore message of the Format:
-     * <pre>KST-1003 : Close</pre>
+     * <pre>KST-1003 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSE()
+    public static LogMessage CLOSE(String param1)
     {
         String rawMessage = _messages.getString("CLOSE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -142,16 +147,16 @@ public class KeyStoreMessages
 
     /**
      * Log a KeyStore message of the Format:
-     * <pre>KST-1001 : Create "{0}"</pre>
+     * <pre>KST-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATE(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
         String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -202,16 +207,16 @@ public class KeyStoreMessages
 
     /**
      * Log a KeyStore message of the Format:
-     * <pre>KST-1004 : Delete "{0}"</pre>
+     * <pre>KST-1004 : Delete "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETE(String param1)
+    public static LogMessage DELETE(String param1, String param2)
     {
         String rawMessage = _messages.getString("DELETE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -322,16 +327,21 @@ public class KeyStoreMessages
 
     /**
      * Log a KeyStore message of the Format:
-     * <pre>KST-1002 : Open</pre>
+     * <pre>KST-1002 : Open : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage OPEN()
+    public static LogMessage OPEN(String param1, String param2)
     {
         String rawMessage = _messages.getString("OPEN");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -437,7 +447,7 @@ public class KeyStoreMessages
 
     /**
      * Log a KeyStore message of the Format:
-     * <pre>KST-1007 : Update : {0} : {1} : {2}</pre>
+     * <pre>KST-1007 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStore_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStore_logmessages.properties
index 62d6414..937f093 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStore_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/KeyStore_logmessages.properties
@@ -18,10 +18,21 @@
 #
 # Default File used for all non-defined locales.
 
-CREATE = KST-1001 : Create "{0}"
-OPEN = KST-1002 : Open
-CLOSE = KST-1003 : Close
-DELETE = KST-1004 : Delete "{0}"
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = KST-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = KST-1002 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = KST-1003 : Close : "{0}"
+
+# 0 - object name
+# 1 - outcome
+DELETE = KST-1004 : Delete "{0}" : {1}
 EXPIRING = KST-1005 : KeyStore {0} Certificate expires in {1} days : {2}
 # 0 - operation name
 OPERATION = KST-1006 : Operation : {0}
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/PortMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/PortMessages.java
index 395824f..688d7ee 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/PortMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/PortMessages.java
@@ -155,16 +155,21 @@ public class PortMessages
 
     /**
      * Log a Port message of the Format:
-     * <pre>PRT-1003 : Close</pre>
+     * <pre>PRT-1003 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSE()
+    public static LogMessage CLOSE(String param1)
     {
         String rawMessage = _messages.getString("CLOSE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -390,16 +395,16 @@ public class PortMessages
 
     /**
      * Log a Port message of the Format:
-     * <pre>PRT-1001 : Create "{0}"</pre>
+     * <pre>PRT-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATE(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
         String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -450,7 +455,7 @@ public class PortMessages
 
     /**
      * Log a Port message of the Format:
-     * <pre>PRT-1006 : Delete {0} Port "{1}"</pre>
+     * <pre>PRT-1006 : Delete "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
@@ -510,16 +515,21 @@ public class PortMessages
 
     /**
      * Log a Port message of the Format:
-     * <pre>PRT-1002 : Open</pre>
+     * <pre>PRT-1002 : Open : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage OPEN()
+    public static LogMessage OPEN(String param1, String param2)
     {
         String rawMessage = _messages.getString("OPEN");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -685,7 +695,7 @@ public class PortMessages
 
     /**
      * Log a Port message of the Format:
-     * <pre>PRT-1011 : Update : {0} : {1} : {2}</pre>
+     * <pre>PRT-1011 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Port_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Port_logmessages.properties
index 83d1f94..18dc255 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Port_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Port_logmessages.properties
@@ -18,13 +18,23 @@
 #
 # Default File used for all non-defined locales.
 
-CREATE = PRT-1001 : Create "{0}"
-OPEN = PRT-1002 : Open
-CLOSE = PRT-1003 : Close
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = PRT-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = PRT-1002 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = PRT-1003 : Close : "{0}"
 CONNECTION_COUNT_WARN = PRT-1004 : Connection count {0,number} within {1, 
number} % of maximum {2,number}
 CONNECTION_REJECTED_TOO_MANY = PRT-1005 : Connection from {0} rejected. 
Maximum connection count ({1, number}) for this port already reached.
 
-DELETE = PRT-1006 : Delete {0} Port "{1}"
+# 0 - object name
+# 1 - outcome
+DELETE = PRT-1006 : Delete "{0}" : {1}
 
 UNSUPPORTED_PROTOCOL_HEADER = PRT-1007 : Unsupported protocol header received 
{0}, replying with {1}
 CONNECTION_REJECTED_CLOSED = PRT-1008 : Connection from {0} rejected. Port 
closed.
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
index 3fa7599..c0b74b6 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/QueueMessages.java
@@ -63,10 +63,12 @@ public class QueueMessages
     }
 
     public static final String QUEUE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue";
-    public static final String CREATED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.created";
-    public static final String DELETED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.deleted";
+    public static final String CLOSE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.close";
+    public static final String CREATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.create";
+    public static final String DELETE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.delete";
     public static final String DROPPED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.dropped";
     public static final String MALFORMED_MESSAGE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.malformed_message";
+    public static final String OPEN_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.open";
     public static final String OPERATION_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.operation";
     public static final String OVERFULL_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.overfull";
     public static final String UNDERFULL_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "queue.underfull";
@@ -75,10 +77,12 @@ public class QueueMessages
     static
     {
         LoggerFactory.getLogger(QUEUE_LOG_HIERARCHY);
-        LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
-        LoggerFactory.getLogger(DELETED_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CLOSE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CREATE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(DELETE_LOG_HIERARCHY);
         LoggerFactory.getLogger(DROPPED_LOG_HIERARCHY);
         LoggerFactory.getLogger(MALFORMED_MESSAGE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
         LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
         LoggerFactory.getLogger(OVERFULL_LOG_HIERARCHY);
         LoggerFactory.getLogger(UNDERFULL_LOG_HIERARCHY);
@@ -89,77 +93,74 @@ public class QueueMessages
 
     /**
      * Log a Queue message of the Format:
-     * <pre>QUE-1001 : Create : ID: {0}[ Owner: {1}][ AutoDelete][ Durable][ 
Transient][ Priority: {2,number,#}]</pre>
+     * <pre>QUE-1019 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATED(String param1, String param2, Number 
param3, boolean opt1, boolean opt2, boolean opt3, boolean opt4, boolean opt5)
+    public static LogMessage CLOSE(String param1)
     {
-        String rawMessage = _messages.getString("CREATED");
-        StringBuffer msg = new StringBuffer();
+        String rawMessage = _messages.getString("CLOSE");
 
-        // Split the formatted message up on the option values so we can
-        // rebuild the message based on the configured options.
-        String[] parts = rawMessage.split("\\[");
-        msg.append(parts[0]);
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
 
-        int end;
-        if (parts.length > 1)
-        {
+        final String message = formatter.format(messageArguments);
 
-            // Add Option : Owner: {1}.
-            end = parts[1].indexOf(']');
-            if (opt1)
+        return new LogMessage()
+        {
+            @Override
+            public String toString()
             {
-                msg.append(parts[1].substring(0, end));
+                return message;
             }
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[1].substring(end + 1));
-
-            // Add Option : AutoDelete.
-            end = parts[2].indexOf(']');
-            if (opt2)
+            @Override
+            public String getLogHierarchy()
             {
-                msg.append(parts[2].substring(0, end));
+                return CLOSE_LOG_HIERARCHY;
             }
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[2].substring(end + 1));
-
-            // Add Option : Durable.
-            end = parts[3].indexOf(']');
-            if (opt3)
+            @Override
+            public boolean equals(final Object o)
             {
-                msg.append(parts[3].substring(0, end));
-            }
+                if (this == o)
+                {
+                    return true;
+                }
+                if (o == null || getClass() != o.getClass())
+                {
+                    return false;
+                }
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[3].substring(end + 1));
+                final LogMessage that = (LogMessage) o;
 
-            // Add Option : Transient.
-            end = parts[4].indexOf(']');
-            if (opt4)
-            {
-                msg.append(parts[4].substring(0, end));
-            }
+                return getLogHierarchy().equals(that.getLogHierarchy()) && 
toString().equals(that.toString());
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[4].substring(end + 1));
+            }
 
-            // Add Option : Priority: {2,number,#}.
-            end = parts[5].indexOf(']');
-            if (opt5)
+            @Override
+            public int hashCode()
             {
-                msg.append(parts[5].substring(0, end));
+                int result = toString().hashCode();
+                result = 31 * result + getLogHierarchy().hashCode();
+                return result;
             }
+        };
+    }
 
-            // Use 'end + 1' to remove the ']' from the output
-            msg.append(parts[5].substring(end + 1));
-        }
-
-        rawMessage = msg.toString();
+    /**
+     * Log a Queue message of the Format:
+     * <pre>QUE-1001 : Create : "{0}" : {1} : {2}</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
+    {
+        String rawMessage = _messages.getString("CREATE");
 
         final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
@@ -179,7 +180,7 @@ public class QueueMessages
             @Override
             public String getLogHierarchy()
             {
-                return CREATED_LOG_HIERARCHY;
+                return CREATE_LOG_HIERARCHY;
             }
 
             @Override
@@ -212,16 +213,16 @@ public class QueueMessages
 
     /**
      * Log a Queue message of the Format:
-     * <pre>QUE-1002 : Deleted : ID: {0}</pre>
+     * <pre>QUE-1002 : Delete : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETED(String param1)
+    public static LogMessage DELETE(String param1, String param2)
     {
-        String rawMessage = _messages.getString("DELETED");
+        String rawMessage = _messages.getString("DELETE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -239,7 +240,7 @@ public class QueueMessages
             @Override
             public String getLogHierarchy()
             {
-                return DELETED_LOG_HIERARCHY;
+                return DELETE_LOG_HIERARCHY;
             }
 
             @Override
@@ -392,6 +393,66 @@ public class QueueMessages
 
     /**
      * Log a Queue message of the Format:
+     * <pre>QUE-1018 : Open : "{0}" : {1}</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage OPEN(String param1, String param2)
+    {
+        String rawMessage = _messages.getString("OPEN");
+
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
+
+        return new LogMessage()
+        {
+            @Override
+            public String toString()
+            {
+                return message;
+            }
+
+            @Override
+            public String getLogHierarchy()
+            {
+                return OPEN_LOG_HIERARCHY;
+            }
+
+            @Override
+            public boolean equals(final Object o)
+            {
+                if (this == o)
+                {
+                    return true;
+                }
+                if (o == null || getClass() != o.getClass())
+                {
+                    return false;
+                }
+
+                final LogMessage that = (LogMessage) o;
+
+                return getLogHierarchy().equals(that.getLogHierarchy()) && 
toString().equals(that.toString());
+
+            }
+
+            @Override
+            public int hashCode()
+            {
+                int result = toString().hashCode();
+                result = 31 * result + getLogHierarchy().hashCode();
+                return result;
+            }
+        };
+    }
+
+    /**
+     * Log a Queue message of the Format:
      * <pre>QUE-1016 : Operation : {0}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
@@ -572,7 +633,7 @@ public class QueueMessages
 
     /**
      * Log a Queue message of the Format:
-     * <pre>QUE-1017 : Update : {0} : {1} : {2}</pre>
+     * <pre>QUE-1017 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
index d0ad0b7..8742efb 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Queue_logmessages.properties
@@ -18,11 +18,15 @@
 #
 # Default File used for all non-defined locales.
 #
-# 1 - uuid
-# 2 - owner
-# 3 - priority
-CREATED = QUE-1001 : Create : ID: {0}[ Owner: {1}][ AutoDelete][ Durable][ 
Transient][ Priority: {2,number,#}]
-DELETED = QUE-1002 : Deleted : ID: {0}
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = QUE-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+DELETE = QUE-1002 : Delete : "{0}" : {1}
 OVERFULL = QUE-1003 : Overfull : Size : {0,number} bytes, Capacity : 
{1,number}, Messages : {2,number}, Message Capacity : {3,number}
 UNDERFULL = QUE-1004 : Underfull : Size : {0,number} bytes, Resume Capacity : 
{1,number}, Messages : {2,number}, Message Capacity : {3,number}
 DROPPED = QUE-1005 : Dropped : {0,number} messages, Depth : {1,number} bytes, 
{2,number} messages, Capacity : {3,number} bytes, {4,number} messages
@@ -40,3 +44,10 @@ OPERATION = QUE-1016 : Operation : {0}
 # 1 - outcome
 # 2 - attributes
 UPDATE = QUE-1017 : Update : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = QUE-1018 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = QUE-1019 : Close : "{0}"
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStoreMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStoreMessages.java
index 5f93e28..08967c0 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStoreMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStoreMessages.java
@@ -87,16 +87,21 @@ public class TrustStoreMessages
 
     /**
      * Log a TrustStore message of the Format:
-     * <pre>TST-1003 : Close</pre>
+     * <pre>TST-1003 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSE()
+    public static LogMessage CLOSE(String param1)
     {
         String rawMessage = _messages.getString("CLOSE");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -142,16 +147,16 @@ public class TrustStoreMessages
 
     /**
      * Log a TrustStore message of the Format:
-     * <pre>TST-1001 : Create "{0}"</pre>
+     * <pre>TST-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATE(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
         String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -202,16 +207,16 @@ public class TrustStoreMessages
 
     /**
      * Log a TrustStore message of the Format:
-     * <pre>TST-1004 : Delete "{0}"</pre>
+     * <pre>TST-1004 : Delete "{0}" : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage DELETE(String param1)
+    public static LogMessage DELETE(String param1, String param2)
     {
         String rawMessage = _messages.getString("DELETE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -322,16 +327,21 @@ public class TrustStoreMessages
 
     /**
      * Log a TrustStore message of the Format:
-     * <pre>TST-1002 : Open</pre>
+     * <pre>TST-1002 : Open : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage OPEN()
+    public static LogMessage OPEN(String param1, String param2)
     {
         String rawMessage = _messages.getString("OPEN");
 
-        final String message = rawMessage;
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
 
         return new LogMessage()
         {
@@ -437,7 +447,7 @@ public class TrustStoreMessages
 
     /**
      * Log a TrustStore message of the Format:
-     * <pre>TST-1007 : Update : {0} : {1} : {2}</pre>
+     * <pre>TST-1007 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStore_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStore_logmessages.properties
index b20b676..6f72857 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStore_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/TrustStore_logmessages.properties
@@ -18,10 +18,21 @@
 #
 # Default File used for all non-defined locales.
 
-CREATE = TST-1001 : Create "{0}"
-OPEN = TST-1002 : Open
-CLOSE = TST-1003 : Close
-DELETE = TST-1004 : Delete "{0}"
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = TST-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+OPEN = TST-1002 : Open : "{0}" : {1}
+
+# 0 - object name
+CLOSE = TST-1003 : Close : "{0}"
+
+# 0 - object name
+# 1 - outcome
+DELETE = TST-1004 : Delete "{0}" : {2}
 # 0 - operation name
 OPERATION = TST-1006 : Operation : {0}
 EXPIRING = TST-1005 : TrustStore {0} Certificate expires in {1} days : {2}
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
index 42fa9aa..77a43f4 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHostMessages.java
@@ -63,24 +63,26 @@ public class VirtualHostMessages
     }
 
     public static final String VIRTUALHOST_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost";
-    public static final String CLOSED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.closed";
-    public static final String CREATED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.created";
+    public static final String CLOSE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.close";
+    public static final String CREATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.create";
     public static final String DELETE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.delete";
     public static final String ERRORED_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.errored";
     public static final String FILESYSTEM_FULL_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.filesystem_full";
     public static final String FILESYSTEM_NOTFULL_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.filesystem_notfull";
+    public static final String OPEN_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.open";
     public static final String OPERATION_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.operation";
     public static final String UPDATE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "virtualhost.update";
 
     static
     {
         LoggerFactory.getLogger(VIRTUALHOST_LOG_HIERARCHY);
-        LoggerFactory.getLogger(CLOSED_LOG_HIERARCHY);
-        LoggerFactory.getLogger(CREATED_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CLOSE_LOG_HIERARCHY);
+        LoggerFactory.getLogger(CREATE_LOG_HIERARCHY);
         LoggerFactory.getLogger(DELETE_LOG_HIERARCHY);
         LoggerFactory.getLogger(ERRORED_LOG_HIERARCHY);
         LoggerFactory.getLogger(FILESYSTEM_FULL_LOG_HIERARCHY);
         LoggerFactory.getLogger(FILESYSTEM_NOTFULL_LOG_HIERARCHY);
+        LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
         LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
         LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
 
@@ -89,14 +91,14 @@ public class VirtualHostMessages
 
     /**
      * Log a VirtualHost message of the Format:
-     * <pre>VHT-1002 : Closed : {0}</pre>
+     * <pre>VHT-1002 : Close : "{0}"</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CLOSED(String param1)
+    public static LogMessage CLOSE(String param1)
     {
-        String rawMessage = _messages.getString("CLOSED");
+        String rawMessage = _messages.getString("CLOSE");
 
         final Object[] messageArguments = {param1};
         // Create a new MessageFormat to ensure thread safety.
@@ -116,7 +118,7 @@ public class VirtualHostMessages
             @Override
             public String getLogHierarchy()
             {
-                return CLOSED_LOG_HIERARCHY;
+                return CLOSE_LOG_HIERARCHY;
             }
 
             @Override
@@ -149,16 +151,16 @@ public class VirtualHostMessages
 
     /**
      * Log a VirtualHost message of the Format:
-     * <pre>VHT-1001 : Created : {0}</pre>
+     * <pre>VHT-1001 : Create : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
      */
-    public static LogMessage CREATED(String param1)
+    public static LogMessage CREATE(String param1, String param2, String 
param3)
     {
-        String rawMessage = _messages.getString("CREATED");
+        String rawMessage = _messages.getString("CREATE");
 
-        final Object[] messageArguments = {param1};
+        final Object[] messageArguments = {param1, param2, param3};
         // Create a new MessageFormat to ensure thread safety.
         // Sharing a MessageFormat and using applyPattern is not thread safe
         MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
@@ -176,7 +178,7 @@ public class VirtualHostMessages
             @Override
             public String getLogHierarchy()
             {
-                return CREATED_LOG_HIERARCHY;
+                return CREATE_LOG_HIERARCHY;
             }
 
             @Override
@@ -209,7 +211,7 @@ public class VirtualHostMessages
 
     /**
      * Log a VirtualHost message of the Format:
-     * <pre>VHT-1010 : Delete : {0} : {1}</pre>
+     * <pre>VHT-1010 : Delete : "{0}" : {1}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
@@ -449,6 +451,66 @@ public class VirtualHostMessages
 
     /**
      * Log a VirtualHost message of the Format:
+     * <pre>VHT-1011 : Open : "{0}" : {1}</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage OPEN(String param1, String param2)
+    {
+        String rawMessage = _messages.getString("OPEN");
+
+        final Object[] messageArguments = {param1, param2};
+        // Create a new MessageFormat to ensure thread safety.
+        // Sharing a MessageFormat and using applyPattern is not thread safe
+        MessageFormat formatter = new MessageFormat(rawMessage, 
_currentLocale);
+
+        final String message = formatter.format(messageArguments);
+
+        return new LogMessage()
+        {
+            @Override
+            public String toString()
+            {
+                return message;
+            }
+
+            @Override
+            public String getLogHierarchy()
+            {
+                return OPEN_LOG_HIERARCHY;
+            }
+
+            @Override
+            public boolean equals(final Object o)
+            {
+                if (this == o)
+                {
+                    return true;
+                }
+                if (o == null || getClass() != o.getClass())
+                {
+                    return false;
+                }
+
+                final LogMessage that = (LogMessage) o;
+
+                return getLogHierarchy().equals(that.getLogHierarchy()) && 
toString().equals(that.toString());
+
+            }
+
+            @Override
+            public int hashCode()
+            {
+                int result = toString().hashCode();
+                result = 31 * result + getLogHierarchy().hashCode();
+                return result;
+            }
+        };
+    }
+
+    /**
+     * Log a VirtualHost message of the Format:
      * <pre>VHT-1008 : Operation : {0}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
@@ -509,7 +571,7 @@ public class VirtualHostMessages
 
     /**
      * Log a VirtualHost message of the Format:
-     * <pre>VHT-1009 : Update : {0} : {1} : {2}</pre>
+     * <pre>VHT-1009 : Update : "{0}" : {1} : {2}</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.
      *
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
index f84b37d..2b77cda 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/logging/messages/VirtualHost_logmessages.properties
@@ -18,9 +18,14 @@
 #
 # Default File used for all non-defined locales.
 #
-# 0 - name
-CREATED = VHT-1001 : Created : {0}
-CLOSED = VHT-1002 : Closed : {0}
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+CREATE = VHT-1001 : Create : "{0}" : {1} : {2}
+
+# 0 - object name
+CLOSE = VHT-1002 : Close : "{0}"
 ERRORED = VHT-1005 : {0} Unexpected fatal error
 
 FILESYSTEM_FULL = VHT-1006 : Filesystem is over {0,number} per cent full, 
enforcing flow control.
@@ -37,3 +42,6 @@ UPDATE = VHT-1009 : Update : "{0}" : {1} : {2}
 # 0 - object name
 # 1 - outcome
 DELETE = VHT-1010 : Delete : "{0}" : {1}
+# 0 - object name
+# 1 - outcome
+OPEN = VHT-1011 : Open : "{0}" : {1}
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java 
b/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
index 64ef027..1e23580 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
@@ -525,40 +525,19 @@ public abstract class AbstractPort<X extends 
AbstractPort<X>> extends AbstractCo
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(PortMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        _eventLogger.message(PortMessages.CREATE(getName(), 
String.valueOf(outcome), attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(PortMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        _eventLogger.message(PortMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(PortMessages.DELETE(getType(), getName()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        _eventLogger.message(PortMessages.DELETE(getType(), getName()));
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java 
b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
index dc0df9f..1673321 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/AbstractQueue.java
@@ -614,19 +614,6 @@ public abstract class AbstractQueue<X extends 
AbstractQueue<X>>
         _postEnqueueOverflowPolicyHandler = overflowPolicyHandler;
     }
 
-    protected LogMessage getCreatedLogMessage()
-    {
-        String ownerString = getOwner();
-        return QueueMessages.CREATED(getId().toString(),
-                                     ownerString,
-                                     0,
-                                     ownerString != null,
-                                     getLifetimePolicy() != 
LifetimePolicy.PERMANENT,
-                                     isDurable(),
-                                     !isDurable(),
-                                     false);
-    }
-
     private MessageDestination getOpenedMessageDestination(final String name)
     {
         MessageDestination destination = 
getVirtualHost().getSystemDestination(name);
@@ -3967,40 +3954,22 @@ public abstract class AbstractQueue<X extends 
AbstractQueue<X>>
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, getCreatedLogMessage());
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        getEventLogger().message(_logSubject,
+                                 QueueMessages.CREATE(getName(),
+                                                      String.valueOf(outcome),
+                                                      
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, getCreatedLogMessage());
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        getEventLogger().message(_logSubject, QueueMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(_logSubject, 
QueueMessages.DELETED(getId().toString()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        getEventLogger().message(_logSubject, QueueMessages.DELETE(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueueImpl.java 
b/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueueImpl.java
index fee4228..101691a 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueueImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueueImpl.java
@@ -79,20 +79,6 @@ public class PriorityQueueImpl extends 
OutOfOrderQueue<PriorityQueueImpl> implem
     }
 
     @Override
-    protected LogMessage getCreatedLogMessage()
-    {
-        String ownerString = getOwner();
-        return QueueMessages.CREATED(getId().toString(),
-                                     ownerString,
-                                     getPriorities(),
-                                     ownerString != null,
-                                     getLifetimePolicy() != 
LifetimePolicy.PERMANENT,
-                                     isDurable(),
-                                     !isDurable(),
-                                     true);
-    }
-
-    @Override
     public long reenqueueMessageForPriorityChange(final long messageId, final 
int newPriority)
     {
         final QueueEntry entry = getMessageOnTheQueue(messageId);
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractKeyStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractKeyStore.java
index 18f06b0..c3f39e5 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractKeyStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractKeyStore.java
@@ -221,40 +221,21 @@ public abstract class AbstractKeyStore<X extends 
AbstractKeyStore<X>>
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(KeyStoreMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        _eventLogger.message(KeyStoreMessages.CREATE(getName(),
+                                                     String.valueOf(outcome),
+                                                     
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(KeyStoreMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        _eventLogger.message(KeyStoreMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(KeyStoreMessages.DELETE(getName()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        _eventLogger.message(KeyStoreMessages.DELETE(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
index d88f6eb..09d09dc 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/AbstractTrustStore.java
@@ -175,40 +175,21 @@ public abstract class AbstractTrustStore<X extends 
AbstractTrustStore<X>>
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(TrustStoreMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        _eventLogger.message(TrustStoreMessages.CREATE(getName(),
+                                                       String.valueOf(outcome),
+                                                       
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(TrustStoreMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        _eventLogger.message(TrustStoreMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(TrustStoreMessages.DELETE(getName()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        _eventLogger.message(TrustStoreMessages.DELETE(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
index 02237c8..5384ddb 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/AllowAllAccessControlProviderImpl.java
@@ -25,6 +25,8 @@ import java.util.Map;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 
+import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.logging.messages.AccessControlMessages;
 import org.apache.qpid.server.model.AbstractConfiguredObject;
 import org.apache.qpid.server.model.AccessControlProvider;
@@ -63,7 +65,12 @@ public class AllowAllAccessControlProviderImpl extends 
AbstractConfiguredObject<
     @Override
     protected void logOperation(final String operation)
     {
-        
_broker.getEventLogger().message(AccessControlMessages.OPERATION(operation));
+        getEventLogger().message(AccessControlMessages.OPERATION(operation));
+    }
+
+    private EventLogger getEventLogger()
+    {
+        return _broker.getEventLogger();
     }
 
     @StateTransition(currentState = {State.UNINITIALIZED, State.QUIESCED, 
State.ERRORED}, desiredState = State.ACTIVE)
@@ -85,15 +92,36 @@ public class AllowAllAccessControlProviderImpl extends 
AbstractConfiguredObject<
     }
 
     @Override
-    protected ListenableFuture<Void> onDelete()
+    public int compareTo(final AccessControlProvider<?> o)
     {
-        
_broker.getEventLogger().message(AccessControlMessages.DELETE(getName()));
-        return super.onDelete();
+        return ACCESS_CONTROL_PROVIDER_COMPARATOR.compare(this, o);
     }
 
     @Override
-    public int compareTo(final AccessControlProvider<?> o)
+    protected void logCreated(final Map<String, Object> attributes,
+                              final Outcome outcome)
     {
-        return ACCESS_CONTROL_PROVIDER_COMPARATOR.compare(this, o);
+        getEventLogger().message(AccessControlMessages.CREATE(getName(),
+                                                              
String.valueOf(outcome),
+                                                              
attributesAsString(attributes)));
+    }
+
+    @Override
+    protected void logRecovered(final Outcome outcome)
+    {
+        getEventLogger().message(AccessControlMessages.OPEN(getName(), 
String.valueOf(outcome)));
+    }
+
+    @Override
+    protected void logDeleted(final Outcome outcome)
+    {
+        getEventLogger().message(AccessControlMessages.DELETE(getName(), 
String.valueOf(outcome)));
+    }
+
+
+    @Override
+    protected void logUpdated(final Map<String, Object> attributes, final 
Outcome outcome)
+    {
+        getEventLogger().message(AccessControlMessages.UPDATE(getName(), 
outcome.name(), attributesAsString(attributes)));
     }
 }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/access/AbstractAccessControlProvider.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/access/AbstractAccessControlProvider.java
index 05b8c63..096286a 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/access/AbstractAccessControlProvider.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/access/AbstractAccessControlProvider.java
@@ -87,40 +87,21 @@ public abstract class AbstractAccessControlProvider<X 
extends AbstractAccessCont
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(AccessControlMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        getEventLogger().message(AccessControlMessages.CREATE(getName(),
+                                                              
String.valueOf(outcome),
+                                                              
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(AccessControlMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        getEventLogger().message(AccessControlMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            getEventLogger().message(AccessControlMessages.DELETE(getName()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        getEventLogger().message(AccessControlMessages.DELETE(getName(), 
String.valueOf(outcome)));
     }
 
 
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
index 8397302..a9b4465 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
@@ -153,48 +153,29 @@ public abstract class AbstractAuthenticationManager<T 
extends AbstractAuthentica
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            
_eventLogger.message(AuthenticationProviderMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        _eventLogger.message(AuthenticationProviderMessages.CREATE(getName(),
+                                                                   
String.valueOf(outcome),
+                                                                   
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            
_eventLogger.message(AuthenticationProviderMessages.CREATE(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        _eventLogger.message(AuthenticationProviderMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logDeleted(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            
getEventLogger().message(AuthenticationProviderMessages.DELETE(getName()));
-        }
-        else
-        {
-            super.logDeleted(outcome);
-        }
+        _eventLogger.message(AuthenticationProviderMessages.DELETE(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
     protected void logUpdated(final Map<String, Object> attributes, final 
Outcome outcome)
     {
-        
getEventLogger().message(AuthenticationProviderMessages.UPDATE(getName(),
-                                                                       
String.valueOf(outcome),
-                                                                       
attributesAsString(attributes)));
+        _eventLogger.message(AuthenticationProviderMessages.UPDATE(getName(),
+                                                                   
String.valueOf(outcome),
+                                                                   
attributesAsString(attributes)));
     }
 
 }
diff --git 
a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
 
b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index 7a6286b..3b8fbd2 100644
--- 
a/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ 
b/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -1612,7 +1612,7 @@ public abstract class AbstractVirtualHost<X extends 
AbstractVirtualHost<X>> exte
         }
 
         closeNetworkConnectionScheduler();
-        _eventLogger.message(VirtualHostMessages.CLOSED(getName()));
+        _eventLogger.message(VirtualHostMessages.CLOSE(getName()));
 
         stopLogging(_virtualHostLoggersToClose);
         _systemNodeRegistry.close();
@@ -3406,27 +3406,15 @@ public abstract class AbstractVirtualHost<X extends 
AbstractVirtualHost<X>> exte
     protected void logCreated(final Map<String, Object> attributes,
                               final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(VirtualHostMessages.CREATED(getName()));
-        }
-        else
-        {
-            super.logCreated(attributes, outcome);
-        }
+        _eventLogger.message(VirtualHostMessages.CREATE(getName(),
+                                                        
String.valueOf(outcome),
+                                                        
attributesAsString(attributes)));
     }
 
     @Override
     protected void logRecovered(final Outcome outcome)
     {
-        if (outcome == Outcome.SUCCESS)
-        {
-            _eventLogger.message(VirtualHostMessages.CREATED(getName()));
-        }
-        else
-        {
-            super.logRecovered(outcome);
-        }
+        _eventLogger.message(VirtualHostMessages.OPEN(getName(), 
String.valueOf(outcome)));
     }
 
     @Override
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
index 7e6f044..f31f659 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.junit.Test;
 
+import org.apache.qpid.server.logging.Outcome;
 import org.apache.qpid.server.model.Exchange;
 import org.apache.qpid.server.model.BrokerTestHelper;
 
@@ -35,42 +36,48 @@ public class ExchangeMessagesTest extends 
AbstractTestMessages
     @Test
     public void testExchangeCreated_Transient() throws Exception
     {
-        Exchange<?> exchange = BrokerTestHelper.createExchange("test", false, 
getEventLogger());
-
-        String type = exchange.getType();
-        String name = exchange.getName();
-
-        _logMessage = ExchangeMessages.CREATED(type, name, false);
-        List<Object> log = getLog();
-
-        String[] expected = {"Create :", "Type:", type, "Name:", name};
-
+        final Exchange<?> exchange = BrokerTestHelper.createExchange("test", 
false, getEventLogger());
+        final String type = exchange.getType();
+        final String name = exchange.getName();
+        final String attributes =
+                
String.format("{createdTime=%s,durable=false,id=%s,lastUpdatedTime=%s,name=%s,type=%s}",
+                              exchange.getCreatedTime().toInstant().toString(),
+                              exchange.getId().toString(),
+                              
exchange.getLastUpdatedTime().toInstant().toString(),
+                              name,
+                              type);
+        _logMessage = ExchangeMessages.CREATE(name, 
String.valueOf(Outcome.SUCCESS), attributes);
+        final List<Object> log = getLog();
+        final String[] expected = {"Create : \"", name, "\" : ", 
String.valueOf(Outcome.SUCCESS), attributes};
         validateLogMessageNoSubject(log, "EXH-1001", expected);
     }
 
     @Test
     public void testExchangeCreated_Persistent() throws Exception
     {
-        Exchange<?> exchange = BrokerTestHelper.createExchange("test", true, 
getEventLogger());
-
-        String type = exchange.getType();
-        String name = exchange.getName();
-
-        _logMessage = ExchangeMessages.CREATED(type, name, true);
-        List<Object> log = getLog();
-
-        String[] expected = {"Create :", "Durable", "Type:", type, "Name:", 
name};
-
+        final Exchange<?> exchange = BrokerTestHelper.createExchange("test", 
true, getEventLogger());
+        final String type = exchange.getType();
+        final String name = exchange.getName();
+        final String attributes =
+                
String.format("{createdTime=%s,durable=true,id=%s,lastUpdatedTime=%s,name=%s,type=%s}",
+                              exchange.getCreatedTime().toInstant().toString(),
+                              exchange.getId().toString(),
+                              
exchange.getLastUpdatedTime().toInstant().toString(),
+                              name,
+                              type);
+
+        _logMessage = ExchangeMessages.CREATE(name, 
String.valueOf(Outcome.SUCCESS), attributes);
+        final List<Object> log = getLog();
+        final String[] expected = {"Create : \"", name, "\" : ", 
String.valueOf(Outcome.SUCCESS), attributes};
         validateLogMessageNoSubject(log, "EXH-1001", expected);
     }
 
     @Test
     public void testExchangeDeleted()
     {
-        _logMessage = ExchangeMessages.DELETED();
-        List<Object> log = performLog();
-
-        String[] expected = {"Deleted"};
+        _logMessage = ExchangeMessages.DELETE("test", 
String.valueOf(Outcome.SUCCESS));
+        final List<Object> log = performLog();
+        final String[] expected = {"Delete : \"test\" : ", 
String.valueOf(Outcome.SUCCESS)};
 
         validateLogMessage(log, "EXH-1002", expected);
     }
@@ -78,8 +85,7 @@ public class ExchangeMessagesTest extends AbstractTestMessages
     @Test
     public void testExchangeDiscardedMessage() throws Exception
     {
-        Exchange<?> exchange = BrokerTestHelper.createExchange("test", false, 
getEventLogger());
-
+        final Exchange<?> exchange = BrokerTestHelper.createExchange("test", 
false, getEventLogger());
         final String name = exchange.getName();
         final String routingKey = "routingKey";
         clearLog();
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/QueueMessagesTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/QueueMessagesTest.java
index 038a634..fdb4651 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/QueueMessagesTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/QueueMessagesTest.java
@@ -24,232 +24,40 @@ import java.util.List;
 
 import org.junit.Test;
 
+import org.apache.qpid.server.logging.Outcome;
+
 /**
  * Test QUE Log Messages
  */
 public class QueueMessagesTest extends AbstractTestMessages
 {
     @Test
-    public void testQueueCreatedALL()
+    public void testQueueCreateSuccess()
     {
-        String owner = "guest";
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid",owner, priority, true, 
true, true, true, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Durable", "Transient", "Priority:",
-                             String.valueOf(priority)};
-
+        final String attributes = "{\"type\": \"standard\"}";
+        _logMessage = QueueMessages.CREATE("test", 
String.valueOf(Outcome.SUCCESS), attributes);
+        final List<Object> log = performLog();
+        final String[] expected = {"Create : \"test\" : ", 
String.valueOf(Outcome.SUCCESS), " : {\"type\": \"standard\"}"};
         validateLogMessage(log, "QUE-1001", expected);
     }
 
     @Test
     public void testQueueCreatedOwnerAutoDelete()
     {
-        String owner = "guest";
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, null, true, true, 
false, false, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerPriority()
-    {
-        String owner = "guest";
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, priority, true, 
false, false, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"Priority:",
-                             String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerAutoDeletePriority()
-    {
-        String owner = "guest";
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, priority, true, 
true, false, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Priority:",
-                             String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerAutoDeleteTransient()
-    {
-        String owner = "guest";
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, null, true, true, 
false, true, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Transient"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerAutoDeleteTransientPriority()
-    {
-        String owner = "guest";
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, priority, true, 
true, false, true, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Transient", "Priority:",
-                             String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerAutoDeleteDurable()
-    {
-        String owner = "guest";
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, null, true, true, 
true, false, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Durable"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedOwnerAutoDeleteDurablePriority()
-    {
-        String owner = "guest";
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", owner, priority, true, 
true, true, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "Owner:", owner, 
"AutoDelete",
-                             "Durable", "Priority:",
-                             String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDelete()
-    {
-        _logMessage = QueueMessages.CREATED("uuid", null, null, false, true, 
false, false, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid", "AutoDelete"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedPriority()
-    {
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", null, priority, false, 
false, false, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid",
-                             "Priority:", String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDeletePriority()
-    {
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", null, priority, false, 
true, false, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "AutoDelete",
-                             "Priority:",
-                             String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDeleteTransient()
-    {
-        _logMessage = QueueMessages.CREATED("uuid", null, null, false, true, 
false, true, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid",
-                             "AutoDelete", "Transient"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDeleteTransientPriority()
-    {
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", null, priority, false, 
true, false, true, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid",
-                             "AutoDelete", "Transient", "Priority:",
-                String.valueOf(priority)};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDeleteDurable()
-    {
-        _logMessage = QueueMessages.CREATED("uuid", null, null, false, true, 
true, false, false);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid",
-                             "AutoDelete", "Durable"};
-
-        validateLogMessage(log, "QUE-1001", expected);
-    }
-
-    @Test
-    public void testQueueCreatedAutoDeleteDurablePriority()
-    {
-        Integer priority = 3;
-
-        _logMessage = QueueMessages.CREATED("uuid", null, priority, false, 
true, true, false, true);
-        List<Object> log = performLog();
-
-        String[] expected = {"Create :", "ID:", "uuid",
-                             "AutoDelete", "Durable", "Priority:",
-                String.valueOf(priority)};
-
+        final String attributes = "{\"type\": \"standard\", \"owner\": 
\"guest\", \"lifetimePolicy\": \"DELETE_ON_CONNECTION_CLOSE\"}";
+        _logMessage = QueueMessages.CREATE("test", 
String.valueOf(Outcome.SUCCESS), attributes);
+        final List<Object> log = performLog();
+        final String[] expected = {"Create : \"test\" : ", 
String.valueOf(Outcome.SUCCESS), attributes};
         validateLogMessage(log, "QUE-1001", expected);
     }
 
     @Test
-    public void testQueueDeleted()
+    public void testQueueDelete()
     {
-        _logMessage = QueueMessages.DELETED("uuid");
-        List<Object> log = performLog();
+        _logMessage = QueueMessages.DELETE("test", 
String.valueOf(Outcome.SUCCESS));
+        final List<Object> log = performLog();
 
-        String[] expected = {"Deleted", "ID:", "uuid"};
+        final String[] expected = {"Delete : \"test\" : SUCCESS"};
 
         validateLogMessage(log, "QUE-1002", expected);
     }
diff --git 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/VirtualHostMessagesTest.java
 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/VirtualHostMessagesTest.java
index deafe52..ff3a304 100644
--- 
a/broker-core/src/test/java/org/apache/qpid/server/logging/messages/VirtualHostMessagesTest.java
+++ 
b/broker-core/src/test/java/org/apache/qpid/server/logging/messages/VirtualHostMessagesTest.java
@@ -24,6 +24,8 @@ import java.util.List;
 
 import org.junit.Test;
 
+import org.apache.qpid.server.logging.Outcome;
+
 /**
  * Test VHT Log Messages
  */
@@ -32,11 +34,12 @@ public class VirtualHostMessagesTest extends 
AbstractTestMessages
     @Test
     public void testVirtualhostCreated()
     {
-        String name = "test";
-        _logMessage = VirtualHostMessages.CREATED(name);
-        List<Object> log = performLog();
+        final String name = "test";
+        final String attributes = "{\"type\": \"JSON\"}";
+        _logMessage = VirtualHostMessages.CREATE(name, 
String.valueOf(Outcome.SUCCESS), attributes);
+        final List<Object> log = performLog();
 
-        String[] expected = {"Created :", name};
+        final String[] expected = {"Create : \"", name, "\" : ", 
String.valueOf(Outcome.SUCCESS), " : ", attributes};
 
         validateLogMessage(log, "VHT-1001", expected);
     }
@@ -44,11 +47,11 @@ public class VirtualHostMessagesTest extends 
AbstractTestMessages
     @Test
     public void testVirtualhostClosed()
     {
-        String name = "test";
-        _logMessage = VirtualHostMessages.CLOSED(name);
-        List<Object> log = performLog();
+        final String name = "test";
+        _logMessage = VirtualHostMessages.CLOSE(name);
+        final List<Object> log = performLog();
 
-        String[] expected = {"Closed :", name};
+        final String[] expected = {"Close : \"", name, "\""};
 
         validateLogMessage(log, "VHT-1002", expected);
     }

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to