You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2021/05/30 18:54:40 UTC
[qpid-broker-j] branch main updated (bb75a8c -> d8c2596)
This is an automated email from the ASF dual-hosted git repository.
orudyy pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git.
from bb75a8c QPID-8526:[Broker-J] Connection looping in NonBlockingConnectionTLSDelegate.doWrite()
new a9427d5 NO-JIRA: Fix maven execution settings in conversion tests
new 2e3495a QPID-8515: [Broker-J] Add missing operational logs
new d8c2596 QPID-8515: [Broker-J] Refactor create/delete/open/close operational logs
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../berkeleydb/BDBHARemoteReplicationNodeImpl.java | 6 +-
.../berkeleydb/BDBHAVirtualHostNodeImpl.java | 36 ++-
...BDBHAVirtualHostNodeOperationalLoggingTest.java | 29 ++-
.../qpid/server/exchange/AbstractExchange.java | 36 ++-
.../qpid/server/logging/AbstractMessageLogger.java | 29 ++-
...rationLogMessage.java => CreateLogMessage.java} | 18 +-
...rationLogMessage.java => DeleteLogMessage.java} | 12 +-
.../org/apache/qpid/server/logging/LogMessage.java | 6 +
.../{LogInclusionRule.java => Outcome.java} | 5 +-
...rationLogMessage.java => UpdateLogMessage.java} | 15 +-
.../logging/messages/AccessControlMessages.java | 96 +++++++-
.../messages/AccessControl_logmessages.properties | 23 +-
.../messages/AuthenticationProviderMessages.java | 96 +++++++-
.../AuthenticationProvider_logmessages.properties | 25 ++-
.../server/logging/messages/ExchangeMessages.java | 226 ++++++++++++++++---
.../messages/Exchange_logmessages.properties | 24 +-
.../logging/messages/HighAvailabilityMessages.java | 100 +++++++--
.../HighAvailability_logmessages.properties | 15 +-
.../server/logging/messages/KeyStoreMessages.java | 96 +++++++-
.../messages/KeyStore_logmessages.properties | 23 +-
.../qpid/server/logging/messages/PortMessages.java | 92 +++++++-
.../logging/messages/Port_logmessages.properties | 23 +-
.../server/logging/messages/QueueMessages.java | 241 ++++++++++++++++-----
.../logging/messages/Queue_logmessages.properties | 26 ++-
.../logging/messages/TrustStoreMessages.java | 98 +++++++--
.../messages/TrustStore_logmessages.properties | 26 ++-
.../logging/messages/VirtualHostMessages.java | 212 ++++++++++++++++--
.../messages/VirtualHost_logmessages.properties | 23 +-
.../server/logging/subjects/QueueLogSubject.java | 10 +-
.../server/model/AbstractConfiguredObject.java | 210 ++++++++++++++++--
.../apache/qpid/server/model/VirtualHostNode.java | 4 +-
.../qpid/server/model/port/AbstractPort.java | 33 ++-
.../apache/qpid/server/queue/AbstractQueue.java | 54 +++--
.../qpid/server/queue/PriorityQueueImpl.java | 14 --
.../qpid/server/queue/QueueConsumerImpl.java | 25 ++-
.../qpid/server/security/AbstractKeyStore.java | 34 ++-
.../qpid/server/security/AbstractTrustStore.java | 33 ++-
.../AllowAllAccessControlProviderImpl.java | 40 +++-
.../AutoGeneratedSelfSignedKeyStoreImpl.java | 8 -
.../access/AbstractAccessControlProvider.java | 37 +++-
.../manager/AbstractAuthenticationManager.java | 43 +++-
.../qpid/server/session/AbstractAMQPSession.java | 26 +++
.../server/transport/AbstractAMQPConnection.java | 16 +-
.../server/virtualhost/AbstractVirtualHost.java | 34 ++-
.../virtualhostnode/AbstractVirtualHostNode.java | 3 +-
.../RedirectingVirtualHostNodeImpl.java | 6 +
.../logging/messages/ExchangeMessagesTest.java | 58 ++---
.../server/logging/messages/QueueMessagesTest.java | 222 ++-----------------
.../logging/messages/VirtualHostMessagesTest.java | 19 +-
.../logging/subjects/QueueLogSubjectTest.java | 2 +-
.../apache/qpid/server/model/VirtualHostTest.java | 4 +-
.../testmodels/hierarchy/TestAbstractCarImpl.java | 11 +-
.../server/model/testmodels/hierarchy/TestCar.java | 3 +-
.../virtualhost/AbstractVirtualHostTest.java | 2 +
.../management/plugin/ManagementException.java | 4 +-
systests/end-to-end-conversion-tests/pom.xml | 27 ++-
.../endtoend/logging/VirtualHostLoggerTest.java | 2 +-
57 files changed, 2026 insertions(+), 615 deletions(-)
copy broker-core/src/main/java/org/apache/qpid/server/logging/{OperationLogMessage.java => CreateLogMessage.java} (65%)
copy broker-core/src/main/java/org/apache/qpid/server/logging/{OperationLogMessage.java => DeleteLogMessage.java} (76%)
copy broker-core/src/main/java/org/apache/qpid/server/logging/{LogInclusionRule.java => Outcome.java} (93%)
copy broker-core/src/main/java/org/apache/qpid/server/logging/{OperationLogMessage.java => UpdateLogMessage.java} (70%)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[qpid-broker-j] 03/03: QPID-8515: [Broker-J] Refactor
create/delete/open/close operational logs
Posted by or...@apache.org.
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 <or...@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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[qpid-broker-j] 01/03: NO-JIRA: Fix maven execution settings in
conversion tests
Posted by or...@apache.org.
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 a9427d51f6a1dd35395747da7100f86a524d7ed3
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Sat May 29 19:57:48 2021 +0100
NO-JIRA: Fix maven execution settings in conversion tests
---
systests/end-to-end-conversion-tests/pom.xml | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/systests/end-to-end-conversion-tests/pom.xml b/systests/end-to-end-conversion-tests/pom.xml
index ee2457c..767e4a4 100644
--- a/systests/end-to-end-conversion-tests/pom.xml
+++ b/systests/end-to-end-conversion-tests/pom.xml
@@ -88,11 +88,15 @@
<qpid.initialConfigurationLocation>classpath:config-end-to-end-conversion-tests.json</qpid.initialConfigurationLocation>
<qpid.systests.end_to_end_conversion.localRepository>${settings.localRepository}</qpid.systests.end_to_end_conversion.localRepository>
<qpid.systests.end_to_end_conversion.remoteRepository>https://repo.maven.apache.org/maven2/</qpid.systests.end_to_end_conversion.remoteRepository>
+ <qpid-jms-client-version>${qpid-jms-client-version}</qpid-jms-client-version>
+ <qpid-jms-client-amqp-0-x-version>${qpid-jms-client-amqp-0-x-version}</qpid-jms-client-amqp-0-x-version>
</systemPropertyVariables>
+ <reuseForks>false</reuseForks>
+ <forkCount>6</forkCount>
</configuration>
<executions>
<execution>
- <id>0-9-1 -> 1.0</id>
+ <id>default-test</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -108,7 +112,7 @@
</goals>
</execution>
<execution>
- <id>1.0 -> 0-9-1</id>
+ <id>1.0_to_0-9-1</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -124,7 +128,7 @@
</goals>
</execution>
<execution>
- <id>0-10 -> 1.0</id>
+ <id>0-10_to_1.0</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -140,7 +144,7 @@
</goals>
</execution>
<execution>
- <id>1.0 -> 0-10</id>
+ <id>1.0_to_0-10</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -156,7 +160,7 @@
</goals>
</execution>
<execution>
- <id>0-9-1 -> 0-10</id>
+ <id>0-9-1_to_0-10</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -172,7 +176,7 @@
</goals>
</execution>
<execution>
- <id>0-10 -> 0-9-1</id>
+ <id>0-10_to_0-9-1</id>
<configuration>
<skipTests>${skipITs}</skipTests>
<systemPropertyVariables>
@@ -187,6 +191,17 @@
<goal>test</goal>
</goals>
</execution>
+ <execution>
+ <id>integration-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <excludes>
+ <exclude>**</exclude>
+ </excludes>
+ </configuration>
+ </execution>
</executions>
</plugin>
</plugins>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[qpid-broker-j] 02/03: QPID-8515: [Broker-J] Add missing
operational logs
Posted by or...@apache.org.
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 2e3495a037f5cc1cab310ebc848b569425303961
Author: Alex Rudyy <or...@apache.org>
AuthorDate: Sat May 29 18:04:32 2021 +0100
QPID-8515: [Broker-J] Add missing operational logs
This closes #85
---
.../berkeleydb/BDBHAVirtualHostNodeImpl.java | 36 +++-
.../qpid/server/exchange/AbstractExchange.java | 54 +++++-
.../qpid/server/logging/AbstractMessageLogger.java | 29 ++-
.../qpid/server/logging/CreateLogMessage.java | 56 ++++++
.../qpid/server/logging/DeleteLogMessage.java | 52 +++++
.../org/apache/qpid/server/logging/LogMessage.java | 6 +
.../QueueLogSubject.java => Outcome.java} | 18 +-
.../qpid/server/logging/UpdateLogMessage.java | 55 ++++++
.../logging/messages/AccessControlMessages.java | 62 ++++++
.../messages/AccessControl_logmessages.properties | 4 +
.../messages/AuthenticationProviderMessages.java | 62 ++++++
.../AuthenticationProvider_logmessages.properties | 5 +
.../server/logging/messages/ExchangeMessages.java | 62 ++++++
.../messages/Exchange_logmessages.properties | 5 +
.../logging/messages/HighAvailabilityMessages.java | 62 ++++++
.../HighAvailability_logmessages.properties | 5 +
.../server/logging/messages/KeyStoreMessages.java | 62 ++++++
.../messages/KeyStore_logmessages.properties | 4 +
.../qpid/server/logging/messages/PortMessages.java | 62 ++++++
.../logging/messages/Port_logmessages.properties | 5 +
.../server/logging/messages/QueueMessages.java | 62 ++++++
.../logging/messages/Queue_logmessages.properties | 5 +
.../logging/messages/TrustStoreMessages.java | 64 ++++++-
.../messages/TrustStore_logmessages.properties | 7 +-
.../logging/messages/VirtualHostMessages.java | 124 ++++++++++++
.../messages/VirtualHost_logmessages.properties | 9 +
.../server/logging/subjects/QueueLogSubject.java | 10 +-
.../server/model/AbstractConfiguredObject.java | 210 +++++++++++++++++++--
.../apache/qpid/server/model/VirtualHostNode.java | 4 +-
.../qpid/server/model/port/AbstractPort.java | 54 +++++-
.../apache/qpid/server/queue/AbstractQueue.java | 59 +++++-
.../qpid/server/queue/QueueConsumerImpl.java | 25 ++-
.../qpid/server/security/AbstractKeyStore.java | 53 +++++-
.../qpid/server/security/AbstractTrustStore.java | 52 ++++-
.../AutoGeneratedSelfSignedKeyStoreImpl.java | 8 -
.../access/AbstractAccessControlProvider.java | 56 +++++-
.../manager/AbstractAuthenticationManager.java | 62 ++++--
.../qpid/server/session/AbstractAMQPSession.java | 26 +++
.../server/transport/AbstractAMQPConnection.java | 16 +-
.../server/virtualhost/AbstractVirtualHost.java | 44 ++++-
.../virtualhostnode/AbstractVirtualHostNode.java | 3 +-
.../RedirectingVirtualHostNodeImpl.java | 6 +
.../logging/subjects/QueueLogSubjectTest.java | 2 +-
.../apache/qpid/server/model/VirtualHostTest.java | 4 +-
.../testmodels/hierarchy/TestAbstractCarImpl.java | 11 +-
.../server/model/testmodels/hierarchy/TestCar.java | 3 +-
.../virtualhost/AbstractVirtualHostTest.java | 2 +
.../management/plugin/ManagementException.java | 4 +-
.../endtoend/logging/VirtualHostLoggerTest.java | 2 +-
49 files changed, 1576 insertions(+), 117 deletions(-)
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 ff9015f..b5ec316 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
@@ -62,6 +62,8 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.configuration.updater.Task;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.messages.BrokerMessages;
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
import org.apache.qpid.server.logging.messages.HighAvailabilityMessages;
@@ -300,7 +302,6 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
List<String> permittedNodes = new ArrayList<>(getPermittedNodesFromHelper());
setAttributes(Collections.<String, Object>singletonMap(PERMITTED_NODES, permittedNodes));
}
- getEventLogger().message(getVirtualHostNodeLogSubject(), HighAvailabilityMessages.CREATED());
}
@Override
@@ -1473,4 +1474,37 @@ public class BDBHAVirtualHostNodeImpl extends AbstractVirtualHostNode<BDBHAVirtu
{
return Collections.singletonMap(VirtualHost.class.getSimpleName(), (Collection<String>) Collections.singleton(BDBHAVirtualHostImpl.VIRTUAL_HOST_TYPE));
}
+
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Delete : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ getEventLogger().message(getVirtualHostNodeLogSubject(),
+ HighAvailabilityMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
}
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 60fff56..61f855f 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
@@ -48,6 +48,7 @@ import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.filter.AMQInvalidArgumentException;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.BindingMessages;
import org.apache.qpid.server.logging.messages.ExchangeMessages;
@@ -267,8 +268,6 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>>
LOGGER.warn("Cannot find alternate binding destination '{}' for exchange '{}'", alternateDestination, toString());
}
}
-
- getEventLogger().message(ExchangeMessages.CREATED(getType(), getName(), isDurable()));
}
@Override
@@ -329,8 +328,6 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>>
{
_alternateBindingDestination.removeReference(AbstractExchange.this);
}
-
- getEventLogger().message(_logSubject, ExchangeMessages.DELETED());
}
}
@@ -1085,4 +1082,53 @@ public abstract class AbstractExchange<T extends AbstractExchange<T>>
}
}
}
+
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(_logSubject, ExchangeMessages.CREATED(getType(), getName(), isDurable()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(_logSubject, ExchangeMessages.DELETED());
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ getEventLogger().message(_logSubject,
+ ExchangeMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/AbstractMessageLogger.java b/broker-core/src/main/java/org/apache/qpid/server/logging/AbstractMessageLogger.java
index 6626321..e511920 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/AbstractMessageLogger.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/AbstractMessageLogger.java
@@ -21,7 +21,6 @@
package org.apache.qpid.server.logging;
-import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.CHANNEL_FORMAT;
import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.CONNECTION_FORMAT;
import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.SOCKET_FORMAT;
import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.USER_FORMAT;
@@ -45,6 +44,7 @@ import org.apache.qpid.server.transport.AMQPConnection;
public abstract class AbstractMessageLogger implements MessageLogger
{
public static final String DEFAULT_LOG_HIERARCHY_PREFIX = "qpid.message.";
+ private static final String UNKNOWN_ACTOR = "<<UNKNOWN>>";
private final String _msgPrefix = System.getProperty("qpid.logging.prefix","");
@@ -97,13 +97,18 @@ public abstract class AbstractMessageLogger implements MessageLogger
protected String getActor()
{
+ return getLogActor();
+ }
+
+ static String getLogActor()
+ {
Subject subject = Subject.getSubject(AccessController.getContext());
SessionPrincipal sessionPrincipal = getPrincipal(subject, SessionPrincipal.class);
String message;
if(sessionPrincipal != null)
{
- message = generateSessionMessage(sessionPrincipal.getSession());
+ message = generateSessionActor(sessionPrincipal.getSession());
}
else
{
@@ -111,7 +116,7 @@ public abstract class AbstractMessageLogger implements MessageLogger
if(connPrincipal != null)
{
- message = generateConnectionMessage(connPrincipal.getConnection());
+ message = generateConnectionActor(connPrincipal.getConnection());
}
else
{
@@ -129,7 +134,7 @@ public abstract class AbstractMessageLogger implements MessageLogger
}
else
{
- message = "<<UNKNOWN>> ";
+ message = UNKNOWN_ACTOR + " ";
}
}
}
@@ -137,7 +142,7 @@ public abstract class AbstractMessageLogger implements MessageLogger
return message;
}
- private String generateManagementConnectionMessage(final ManagementConnectionPrincipal managementConnection,
+ private static String generateManagementConnectionMessage(final ManagementConnectionPrincipal managementConnection,
final AuthenticatedPrincipal userPrincipal)
{
String remoteAddress = managementConnection.getRemoteAddress().toString();
@@ -153,13 +158,18 @@ public abstract class AbstractMessageLogger implements MessageLogger
remoteAddress) + "] ";
}
- private String generateTaskMessage(final TaskPrincipal taskPrincipal)
+ private static String generateTaskMessage(final TaskPrincipal taskPrincipal)
{
return "["+taskPrincipal.getName()+"] ";
}
protected String generateConnectionMessage(final AMQPConnection<?> connection)
{
+ return generateConnectionActor(connection);
+ }
+
+ private static String generateConnectionActor(final AMQPConnection<?> connection)
+ {
if (connection.getAuthorizedPrincipal() != null)
{
if (connection.getAddressSpaceName() != null)
@@ -203,10 +213,15 @@ public abstract class AbstractMessageLogger implements MessageLogger
protected String generateSessionMessage(final AMQPSession session)
{
+ return generateSessionActor(session);
+ }
+
+ private static String generateSessionActor(final AMQPSession session)
+ {
return session.getLogSubject().toLogString();
}
- private <P extends Principal> P getPrincipal(Subject subject, Class<P> clazz)
+ private static <P extends Principal> P getPrincipal(Subject subject, Class<P> clazz)
{
if(subject != null)
{
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/CreateLogMessage.java b/broker-core/src/main/java/org/apache/qpid/server/logging/CreateLogMessage.java
new file mode 100644
index 0000000..1f7c936
--- /dev/null
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/CreateLogMessage.java
@@ -0,0 +1,56 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.logging;
+
+import org.apache.qpid.server.model.ConfiguredObject;
+
+public class CreateLogMessage implements LogMessage
+{
+ private final String _hierarchy;
+ private final String _logMessage;
+
+ public CreateLogMessage(final Outcome outcome,
+ final Class<? extends ConfiguredObject> categoryClass,
+ final String name,
+ final String attributes)
+ {
+ _hierarchy = AbstractMessageLogger.DEFAULT_LOG_HIERARCHY_PREFIX
+ + "." + categoryClass.getSimpleName().toLowerCase()
+ + ".create";
+ _logMessage = String.format("%s (%s) : Create : %s : %s",
+ categoryClass.getSimpleName(),
+ name,
+ outcome,
+ attributes);
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return _hierarchy;
+ }
+
+ @Override
+ public String toString()
+ {
+ return _logMessage;
+ }
+}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/DeleteLogMessage.java b/broker-core/src/main/java/org/apache/qpid/server/logging/DeleteLogMessage.java
new file mode 100644
index 0000000..9584c43
--- /dev/null
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/DeleteLogMessage.java
@@ -0,0 +1,52 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.logging;
+
+import org.apache.qpid.server.model.ConfiguredObject;
+
+public class DeleteLogMessage implements LogMessage
+{
+ private final String _hierarchy;
+ private final String _logMessage;
+
+ public DeleteLogMessage(ConfiguredObject<?> object, final Outcome outcome)
+ {
+ _hierarchy = AbstractMessageLogger.DEFAULT_LOG_HIERARCHY_PREFIX
+ + "." + object.getCategoryClass().getSimpleName().toLowerCase()
+ + ".delete";
+ _logMessage = String.format("%s (%s) : Delete : %s",
+ object.getCategoryClass().getSimpleName(),
+ object.getName(),
+ outcome);
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return _hierarchy;
+ }
+
+ @Override
+ public String toString()
+ {
+ return _logMessage;
+ }
+}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/LogMessage.java b/broker-core/src/main/java/org/apache/qpid/server/logging/LogMessage.java
index 53d5df8..fea338c 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/LogMessage.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/LogMessage.java
@@ -22,6 +22,12 @@ package org.apache.qpid.server.logging;
public interface LogMessage
{
+
+ static String getActor()
+ {
+ return AbstractMessageLogger.getLogActor();
+ }
+
String getLogHierarchy();
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java b/broker-core/src/main/java/org/apache/qpid/server/logging/Outcome.java
similarity index 61%
copy from broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java
copy to broker-core/src/main/java/org/apache/qpid/server/logging/Outcome.java
index 3ec57eb..b3648e5 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/Outcome.java
@@ -18,20 +18,10 @@
* under the License.
*
*/
-package org.apache.qpid.server.logging.subjects;
+package org.apache.qpid.server.logging;
-import org.apache.qpid.server.model.Queue;
-
-import static org.apache.qpid.server.logging.subjects.LogSubjectFormat.QUEUE_FORMAT;
-
-public class QueueLogSubject extends AbstractLogSubject
+public enum Outcome
{
-
- /** Create an QueueLogSubject that Logs in the following format. */
- public QueueLogSubject(Queue<?> queue)
- {
- setLogStringWithFormat(QUEUE_FORMAT,
- queue.getVirtualHost().getName(),
- queue.getName());
- }
+ SUCCESS,
+ FAILURE
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/UpdateLogMessage.java b/broker-core/src/main/java/org/apache/qpid/server/logging/UpdateLogMessage.java
new file mode 100644
index 0000000..93f907a
--- /dev/null
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/UpdateLogMessage.java
@@ -0,0 +1,55 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.logging;
+
+import org.apache.qpid.server.model.ConfiguredObject;
+
+public class UpdateLogMessage implements LogMessage
+{
+ private final String _hierarchy;
+ private final String _logMessage;
+
+ public UpdateLogMessage(final ConfiguredObject<?> object,
+ final String attributes,
+ final Outcome outcome)
+ {
+ _hierarchy = AbstractMessageLogger.DEFAULT_LOG_HIERARCHY_PREFIX
+ + "." + object.getCategoryClass().getSimpleName().toLowerCase()
+ + ".update";
+ _logMessage = String.format("%s (%s) : Update : %s : %s",
+ object.getCategoryClass().getSimpleName(),
+ object.getName(),
+ outcome,
+ attributes);
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return _hierarchy;
+ }
+
+ @Override
+ public String toString()
+ {
+ return _logMessage;
+ }
+}
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 c21ac0f..84be31e 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
@@ -71,6 +71,7 @@ public class AccessControlMessages
public static final String LOADED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "accesscontrol.loaded";
public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "accesscontrol.open";
public static final String OPERATION_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "accesscontrol.operation";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "accesscontrol.update";
static
{
@@ -83,6 +84,7 @@ public class AccessControlMessages
LoggerFactory.getLogger(LOADED_LOG_HIERARCHY);
LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.AccessControl_logmessages", _currentLocale);
}
@@ -557,6 +559,66 @@ public class AccessControlMessages
};
}
+ /**
+ * Log a AccessControl message of the Format:
+ * <pre>ACL-1017 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private AccessControlMessages()
{
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 ff8ef6a..232174d 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
@@ -33,3 +33,7 @@ LOADED = ACL-1015 : Rules loaded : Source "{0}"
# 0 - operation name
OPERATION = ACL-1016 : Operation : {0}
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = ACL-1017 : Update : "{0}" : {1} : {2}
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 da2f15e..ba75020 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
@@ -69,6 +69,7 @@ public class AuthenticationProviderMessages
public static final String DELETE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "authenticationprovider.delete";
public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "authenticationprovider.open";
public static final String OPERATION_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "authenticationprovider.operation";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "authenticationprovider.update";
static
{
@@ -79,6 +80,7 @@ public class AuthenticationProviderMessages
LoggerFactory.getLogger(DELETE_LOG_HIERARCHY);
LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.AuthenticationProvider_logmessages", _currentLocale);
}
@@ -456,6 +458,66 @@ public class AuthenticationProviderMessages
};
}
+ /**
+ * Log a AuthenticationProvider message of the Format:
+ * <pre>ATH-1011 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private AuthenticationProviderMessages()
{
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 d840dd6..59068ac 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
@@ -27,3 +27,8 @@ OPERATION = ATH-1005 : Operation : {0}
AUTHENTICATION_FAILED = ATH-1010 : Authentication Failed[ : "{0}"]
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = ATH-1011 : Update : "{0}" : {1} : {2}
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 aa1cb38..bc2adaa 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
@@ -67,6 +67,7 @@ public class ExchangeMessages
public static final String DELETED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.deleted";
public static final String DISCARDMSG_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "exchange.discardmsg";
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
{
@@ -75,6 +76,7 @@ public class ExchangeMessages
LoggerFactory.getLogger(DELETED_LOG_HIERARCHY);
LoggerFactory.getLogger(DISCARDMSG_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Exchange_logmessages", _currentLocale);
}
@@ -337,6 +339,66 @@ public class ExchangeMessages
};
}
+ /**
+ * Log a Exchange message of the Format:
+ * <pre>EXH-1005 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private ExchangeMessages()
{
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 7c24f10..697d4a5 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
@@ -25,3 +25,8 @@ DELETED = EXH-1002 : Deleted
DISCARDMSG = EXH-1003 : Discarded Message : Name: "{0}" Routing Key: "{1}"
# 0 - operation name
OPERATION = EXH-1004 : Operation : {0}
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = EXH-1005 : Update : "{0}" : {1} : {2}
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 7c4c2e5..4d3847e 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
@@ -77,6 +77,7 @@ public class HighAvailabilityMessages
public static final String REMOVED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.removed";
public static final String ROLE_CHANGED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.role_changed";
public static final String TRANSFER_MASTER_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.transfer_master";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "highavailability.update";
static
{
@@ -95,6 +96,7 @@ public class HighAvailabilityMessages
LoggerFactory.getLogger(REMOVED_LOG_HIERARCHY);
LoggerFactory.getLogger(ROLE_CHANGED_LOG_HIERARCHY);
LoggerFactory.getLogger(TRANSFER_MASTER_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.HighAvailability_logmessages", _currentLocale);
}
@@ -919,6 +921,66 @@ public class HighAvailabilityMessages
};
}
+ /**
+ * Log a HighAvailability message of the Format:
+ * <pre>HA-1015 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private HighAvailabilityMessages()
{
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 15e08bd..c76a200 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
@@ -62,3 +62,8 @@ PRIORITY_CHANGED = HA-1012 : Priority : {0}
DESIGNATED_PRIMARY_CHANGED = HA-1013 : Designated primary : {0}
NODE_ROLLEDBACK = HA-1014 : Diverged transactions discarded
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = HA-1015 : Update : "{0}" : {1} : {2}
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 84f9de4..4fdad9c 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
@@ -69,6 +69,7 @@ public class KeyStoreMessages
public static final String EXPIRING_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "keystore.expiring";
public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "keystore.open";
public static final String OPERATION_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "keystore.operation";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "keystore.update";
static
{
@@ -79,6 +80,7 @@ public class KeyStoreMessages
LoggerFactory.getLogger(EXPIRING_LOG_HIERARCHY);
LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.KeyStore_logmessages", _currentLocale);
}
@@ -433,6 +435,66 @@ public class KeyStoreMessages
};
}
+ /**
+ * Log a KeyStore message of the Format:
+ * <pre>KST-1007 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private KeyStoreMessages()
{
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 7d60217..62d6414 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
@@ -26,3 +26,7 @@ EXPIRING = KST-1005 : KeyStore {0} Certificate expires in {1} days : {2}
# 0 - operation name
OPERATION = KST-1006 : Operation : {0}
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = KST-1007 : Update : "{0}" : {1} : {2}
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 a3add21..395824f 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
@@ -73,6 +73,7 @@ public class PortMessages
public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "port.open";
public static final String OPERATION_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "port.operation";
public static final String UNSUPPORTED_PROTOCOL_HEADER_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "port.unsupported_protocol_header";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "port.update";
static
{
@@ -87,6 +88,7 @@ public class PortMessages
LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
LoggerFactory.getLogger(UNSUPPORTED_PROTOCOL_HEADER_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Port_logmessages", _currentLocale);
}
@@ -681,6 +683,66 @@ public class PortMessages
};
}
+ /**
+ * Log a Port message of the Format:
+ * <pre>PRT-1011 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private PortMessages()
{
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 043721f..83d1f94 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
@@ -33,3 +33,8 @@ BIND_FAILED = PRT-1009 : FAILED to bind {0} service to {1,number,#} - port in us
# 0 - operation name
OPERATION = PRT-1010 : Operation : {0}
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = PRT-1011 : Update : "{0}" : {1} : {2}
+
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 ee10dc3..3fa7599 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
@@ -70,6 +70,7 @@ public class QueueMessages
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";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "queue.update";
static
{
@@ -81,6 +82,7 @@ public class QueueMessages
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
LoggerFactory.getLogger(OVERFULL_LOG_HIERARCHY);
LoggerFactory.getLogger(UNDERFULL_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Queue_logmessages", _currentLocale);
}
@@ -568,6 +570,66 @@ public class QueueMessages
};
}
+ /**
+ * Log a Queue message of the Format:
+ * <pre>QUE-1017 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private QueueMessages()
{
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 bfcf701..d0ad0b7 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
@@ -35,3 +35,8 @@ MALFORMED_MESSAGE = QUE-1006 : Malformed : {0} : {1}
# 0 - operation name
OPERATION = QUE-1016 : Operation : {0}
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = QUE-1017 : Update : "{0}" : {1} : {2}
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 8fd1e9d..5f93e28 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
@@ -69,6 +69,7 @@ public class TrustStoreMessages
public static final String EXPIRING_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "truststore.expiring";
public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "truststore.open";
public static final String OPERATION_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "truststore.operation";
+ public static final String UPDATE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "truststore.update";
static
{
@@ -79,6 +80,7 @@ public class TrustStoreMessages
LoggerFactory.getLogger(EXPIRING_LOG_HIERARCHY);
LoggerFactory.getLogger(OPEN_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.TrustStore_logmessages", _currentLocale);
}
@@ -375,7 +377,7 @@ public class TrustStoreMessages
/**
* Log a TrustStore message of the Format:
- * <pre>TST-1005 : Operation : {0}</pre>
+ * <pre>TST-1006 : Operation : {0}</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
*
@@ -433,6 +435,66 @@ public class TrustStoreMessages
};
}
+ /**
+ * Log a TrustStore message of the Format:
+ * <pre>TST-1007 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private TrustStoreMessages()
{
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 494f832..b20b676 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
@@ -23,7 +23,12 @@ OPEN = TST-1002 : Open
CLOSE = TST-1003 : Close
DELETE = TST-1004 : Delete "{0}"
# 0 - operation name
-OPERATION = TST-1005 : Operation : {0}
+OPERATION = TST-1006 : Operation : {0}
EXPIRING = TST-1005 : TrustStore {0} Certificate expires in {1} days : {2}
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = TST-1007 : Update : "{0}" : {1} : {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 a4413f4..42fa9aa 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
@@ -65,20 +65,24 @@ 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 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 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(DELETE_LOG_HIERARCHY);
LoggerFactory.getLogger(ERRORED_LOG_HIERARCHY);
LoggerFactory.getLogger(FILESYSTEM_FULL_LOG_HIERARCHY);
LoggerFactory.getLogger(FILESYSTEM_NOTFULL_LOG_HIERARCHY);
LoggerFactory.getLogger(OPERATION_LOG_HIERARCHY);
+ LoggerFactory.getLogger(UPDATE_LOG_HIERARCHY);
_messages = ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.VirtualHost_logmessages", _currentLocale);
}
@@ -205,6 +209,66 @@ public class VirtualHostMessages
/**
* Log a VirtualHost message of the Format:
+ * <pre>VHT-1010 : 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, String param2)
+ {
+ String rawMessage = _messages.getString("DELETE");
+
+ 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 DELETE_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-1005 : {0} Unexpected fatal error</pre>
* Optional values are contained in [square brackets] and are numbered
* sequentially in the method call.
@@ -443,6 +507,66 @@ public class VirtualHostMessages
};
}
+ /**
+ * Log a VirtualHost message of the Format:
+ * <pre>VHT-1009 : Update : {0} : {1} : {2}</pre>
+ * Optional values are contained in [square brackets] and are numbered
+ * sequentially in the method call.
+ *
+ */
+ public static LogMessage UPDATE(String param1, String param2, String param3)
+ {
+ String rawMessage = _messages.getString("UPDATE");
+
+ 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()
+ {
+ @Override
+ public String toString()
+ {
+ return message;
+ }
+
+ @Override
+ public String getLogHierarchy()
+ {
+ return UPDATE_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;
+ }
+ };
+ }
+
private VirtualHostMessages()
{
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 17c2af9..f84b37d 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
@@ -28,3 +28,12 @@ FILESYSTEM_NOTFULL = VHT-1007 : Filesystem is no longer over {0,number} per cent
# 0 - operation name
OPERATION = VHT-1008 : Operation : {0}
+
+# 0 - object name
+# 1 - outcome
+# 2 - attributes
+UPDATE = VHT-1009 : Update : "{0}" : {1} : {2}
+
+# 0 - object name
+# 1 - outcome
+DELETE = VHT-1010 : Delete : "{0}" : {1}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java b/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java
index 3ec57eb..4e6d97f 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/logging/subjects/QueueLogSubject.java
@@ -28,10 +28,14 @@ public class QueueLogSubject extends AbstractLogSubject
{
/** Create an QueueLogSubject that Logs in the following format. */
+ @Deprecated
public QueueLogSubject(Queue<?> queue)
{
- setLogStringWithFormat(QUEUE_FORMAT,
- queue.getVirtualHost().getName(),
- queue.getName());
+ this(queue.getName(), queue.getVirtualHost().getName());
+ }
+
+ public QueueLogSubject(String name, String virtualHostName)
+ {
+ setLogStringWithFormat(QUEUE_FORMAT, virtualHostName, name);
}
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
index 267356c..d8144f8 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
@@ -60,6 +60,7 @@ import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Supplier;
import java.util.regex.Pattern;
+import java.util.stream.Collectors;
import javax.security.auth.Subject;
import javax.security.auth.SubjectDomainCombiner;
@@ -71,6 +72,13 @@ import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
+
+import org.apache.qpid.server.logging.CreateLogMessage;
+import org.apache.qpid.server.logging.DeleteLogMessage;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.Outcome;
+import org.apache.qpid.server.logging.UpdateLogMessage;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -588,7 +596,8 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
doResolution(true, exceptionHandler);
doValidation(true, exceptionHandler);
doOpening(true, exceptionHandler);
- return doAttainState(exceptionHandler);
+ return doAttainState(exceptionHandler,
+ object -> object.logRecovered(Outcome.SUCCESS));
}
catch (RuntimeException e)
{
@@ -600,7 +609,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
return Futures.immediateFuture(null);
}
-
}
@Override
@@ -722,7 +730,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
childCloseFutures.add(childCloseFuture);
}
});
-
ListenableFuture<List<Void>> combinedFuture = Futures.allAsList(childCloseFutures);
return doAfter(combinedFuture, new Runnable()
{
@@ -894,7 +901,8 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
doCreation(true, unregisteringExceptionHandler);
doOpening(true, unregisteringExceptionHandler);
- return doAttainState(unregisteringExceptionHandler);
+ return doAttainState(unregisteringExceptionHandler,
+ object -> object.logCreated(getActualAttributes(), Outcome.SUCCESS));
}
catch (RuntimeException e)
{
@@ -1032,7 +1040,8 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
}
- private ListenableFuture<Void> doAttainState(final AbstractConfiguredObjectExceptionHandler exceptionHandler)
+ private ListenableFuture<Void> doAttainState(final AbstractConfiguredObjectExceptionHandler exceptionHandler,
+ final Action<AbstractConfiguredObject<?>> postAction)
{
final List<ListenableFuture<Void>> childStateFutures = new ArrayList<>();
@@ -1047,7 +1056,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
if(abstractConfiguredChild._dynamicState.get().getDynamicState() == DynamicState.OPENED)
{
final AbstractConfiguredObject configuredObject = abstractConfiguredChild;
- childStateFutures.add(configuredObject.doAttainState(exceptionHandler));
+ childStateFutures.add(configuredObject.doAttainState(exceptionHandler, postAction));
}
}
else if(child instanceof AbstractConfiguredObjectProxy
@@ -1075,6 +1084,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
@Override
public void onSuccess(final Void result1)
{
+ postAction.performAction(AbstractConfiguredObject.this);
returnVal.set(null);
}
@@ -2066,6 +2076,23 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
@Override
public ListenableFuture<C> execute()
{
+ ListenableFuture<C> result = null;
+ try
+ {
+ result = create();
+ }
+ finally
+ {
+ if (result == null)
+ {
+ logCreated(childClass, attributes, Outcome.FAILURE);
+ }
+ }
+ return result;
+ }
+
+ private ListenableFuture<C> create()
+ {
authoriseCreateChild(childClass, attributes);
return doAfter(addChildAsync(childClass, attributes),
new CallableWithArgument<ListenableFuture<C>, C>()
@@ -2222,7 +2249,37 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
return Futures.immediateFuture(null);
}
+ ListenableFuture<Void> result = null;
+ try
+ {
+ result = deleteWithChecks();
+ addFutureCallback(result, new FutureCallback<Void>()
+ {
+ @Override
+ public void onSuccess(final Void result11)
+ {
+ logDeleted(Outcome.SUCCESS);
+ }
+
+ @Override
+ public void onFailure(final Throwable t)
+ {
+ logDeleted(Outcome.FAILURE);
+ }
+ }, MoreExecutors.directExecutor());
+ return result;
+ }
+ finally
+ {
+ if (result == null)
+ {
+ logDeleted(Outcome.FAILURE);
+ }
+ }
+ }
+ private ListenableFuture<Void> deleteWithChecks()
+ {
Map<String, Object> attributes = Collections.singletonMap(ConfiguredObject.DESIRED_STATE, State.DELETED);
ConfiguredObject<?> proxyForValidation = createProxyForValidation(attributes);
authoriseSetAttributes(proxyForValidation, attributes);
@@ -2421,9 +2478,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
attributeSet(ConfiguredObject.DESIRED_STATE, currentDesiredState, State.DELETED);
unregister(true);
- LOGGER.debug("Delete {} : {}",
- simpleClassName,
- getName());
return Futures.immediateFuture(null);
});
addFutureCallback(future, new FutureCallback<Void>()
@@ -2478,6 +2532,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
@Override
public void onSuccess(final Void result)
{
+ if (child instanceof AbstractConfiguredObject<?>)
+ {
+ ((AbstractConfiguredObject)child).logDeleted(Outcome.SUCCESS);
+ }
}
@Override
@@ -2485,6 +2543,11 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
LOGGER.error("Exception occurred while deleting {} : {}",
child.getClass().getSimpleName(), child.getName(), t);
+
+ if (child instanceof AbstractConfiguredObject<?>)
+ {
+ ((AbstractConfiguredObject)child).logDeleted(Outcome.FAILURE);
+ }
}
}, getTaskExecutor());
childDeleteFutures.add(childDeleteFuture);
@@ -2923,6 +2986,21 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
@Override
public Void execute()
{
+ Outcome outcome = Outcome.FAILURE;
+ try
+ {
+ setAttributes();
+ outcome = Outcome.SUCCESS;
+ }
+ finally
+ {
+ logUpdated(updateAttributes, outcome);
+ }
+ return null;
+ }
+
+ private void setAttributes()
+ {
authoriseSetAttributes(createProxyForValidation(attributes), attributes);
if (!isSystemProcess())
{
@@ -2930,7 +3008,6 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
changeAttributes(updateAttributes);
- return null;
}
@Override
@@ -3598,16 +3675,107 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
else
{
- LOGGER.info(getCategoryClass().getSimpleName()
- + "("
- + getName()
- + ") : Operation "
- + operation
- + " invoked by user "
- + AuthenticatedPrincipal.getCurrentUser().getName());
+ LOGGER.info("{} : {} ({}) : Operation : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ operation);
}
}
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ final EventLogger eventLogger = getEventLogger();
+ if (eventLogger != null)
+ {
+ eventLogger.message(new UpdateLogMessage(this, attributesAsString(attributes), outcome));
+ }
+ else
+ {
+ LOGGER.info("{} : {} ({}) : Update : {} : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome,
+ attributesAsString(attributes));
+ }
+ }
+
+ protected void logCreated(final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ logCreated(getCategoryClass(), attributes, outcome);
+ }
+
+ private void logCreated(final Class<? extends ConfiguredObject> categoryClass,
+ final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ final EventLogger eventLogger = getEventLogger();
+ if (eventLogger != null)
+ {
+ final String name =
+ attributes != null && attributes.containsKey(NAME) ? String.valueOf(attributes.get(NAME)) : "";
+ eventLogger.message(new CreateLogMessage(outcome, categoryClass, name, attributesAsString(attributes)));
+ }
+ else
+ {
+ LOGGER.info("{} : {} ({}) : Create : {} : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome,
+ attributesAsString(getActualAttributes()));
+ }
+ }
+
+ protected void logRecovered(final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Recover : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
+
+ protected void logDeleted(final Outcome outcome)
+ {
+ final EventLogger eventLogger = getEventLogger();
+ if (eventLogger != null)
+ {
+ eventLogger.message(new DeleteLogMessage(this, outcome));
+ }
+ else
+ {
+ LOGGER.debug("{} : {} ({}) : Delete : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
+ }
+
+ protected String attributesAsString(final Map<String, Object> attributes)
+ {
+ return attributes.entrySet()
+ .stream()
+ .filter(e -> _attributeTypes.get(e.getKey()) != null)
+ .sorted(Map.Entry.comparingByKey())
+ .map(e -> {
+ final ConfiguredObjectAttribute<?, ?> attributeType = _attributeTypes.get(e.getKey());
+ Object value = e.getValue();
+ if (attributeType.isSecureValue(value))
+ {
+ value = SECURED_STRING_VALUE;
+ }
+ else if (value instanceof Date)
+ {
+ value = ((Date)value).toInstant().toString();
+ }
+ return String.format("%s=%s", e.getKey(), value);
+ }).collect(Collectors.joining(",", "{", "}"));
+ }
+
//=========================================================================================
static String interpolate(ConfiguredObject<?> object, String value)
@@ -3939,7 +4107,9 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
{
if(source instanceof AbstractConfiguredObject<?>)
{
- ((AbstractConfiguredObject)source).handleExceptionOnOpen(exception);
+ AbstractConfiguredObject object = (AbstractConfiguredObject) source;
+ object.logRecovered(Outcome.FAILURE);
+ object.handleExceptionOnOpen(exception);
}
else if(source instanceof AbstractConfiguredObjectProxy)
{
@@ -3972,7 +4142,9 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
// TODO - RG - This isn't right :-(
if (source instanceof AbstractConfiguredObject)
{
- ((AbstractConfiguredObject) source).deleteNoChecks();
+ final AbstractConfiguredObject object = (AbstractConfiguredObject) source;
+ object.logCreated(object.getActualAttributes(), Outcome.FAILURE);
+ object.deleteNoChecks();
}
else if (source instanceof AbstractConfiguredObjectProxy)
{
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java b/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
index 54c112f..2cc663b 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java
@@ -22,12 +22,14 @@ package org.apache.qpid.server.model;
import java.util.Collection;
+import org.apache.qpid.server.logging.EventLoggerProvider;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.preferences.PreferenceStoreAttributes;
import org.apache.qpid.server.store.preferences.PreferencesRoot;
@ManagedObject(category=true, managesChildren=true, amqpName = "org.apache.qpid.VirtualHostNode")
-public interface VirtualHostNode<X extends VirtualHostNode<X>> extends ConfiguredObject<X>, PreferencesRoot
+public interface VirtualHostNode<X extends VirtualHostNode<X>> extends ConfiguredObject<X>, PreferencesRoot,
+ EventLoggerProvider
{
String QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR = "qpid.initial_config_virtualhost_config";
@ManagedContextDefault(name = QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR)
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 55098f4..64ef027 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
@@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
import org.apache.qpid.server.configuration.CommonProperties;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.messages.PortMessages;
import org.apache.qpid.server.model.*;
import org.apache.qpid.server.security.ManagedPeerCertificateTrustStore;
@@ -97,7 +98,6 @@ public abstract class AbstractPort<X extends AbstractPort<X>> extends AbstractCo
_container = container;
_eventLogger = container.getEventLogger();
- _eventLogger.message(PortMessages.CREATE(getName()));
}
@Override
@@ -374,13 +374,6 @@ public abstract class AbstractPort<X extends AbstractPort<X>> extends AbstractCo
return getChildren(Connection.class);
}
- @Override
- protected ListenableFuture<Void> onDelete()
- {
- _eventLogger.message(PortMessages.DELETE(getType(), getName()));
- return super.onDelete();
- }
-
@StateTransition( currentState = {State.UNINITIALIZED, State.QUIESCED, State.ERRORED}, desiredState = State.ACTIVE )
protected ListenableFuture<Void> activate()
{
@@ -528,4 +521,49 @@ public abstract class AbstractPort<X extends AbstractPort<X>> extends AbstractCo
protected abstract boolean updateSSLContext();
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(PortMessages.CREATE(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(PortMessages.DELETE(getType(), getName()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ _eventLogger.message(PortMessages.UPDATE(getName(), String.valueOf(outcome), attributesAsString(attributes)));
+ }
}
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 b8ec384..dc0df9f 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
@@ -82,6 +82,7 @@ import org.apache.qpid.server.filter.selector.ParseException;
import org.apache.qpid.server.filter.selector.TokenMgrError;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.QueueMessages;
import org.apache.qpid.server.logging.messages.SenderMessages;
@@ -300,6 +301,7 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
_queueConsumerManager = new QueueConsumerManagerImpl(this);
_virtualHost = virtualHost;
+ _logSubject = new QueueLogSubject(getName(), _virtualHost.getName());
}
@Override
@@ -367,8 +369,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
_arguments = Collections.synchronizedMap(arguments);
- _logSubject = new QueueLogSubject(this);
-
_queueHouseKeepingTask = new AdvanceConsumersTask();
Subject activeSubject = Subject.getSubject(AccessController.getContext());
Set<SessionPrincipal> sessionPrincipals = activeSubject == null ? Collections.emptySet() : activeSubject.getPrincipals(SessionPrincipal.class);
@@ -489,11 +489,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
}
- // Log the creation of this Queue.
- // The priorities display is toggled on if we set priorities > 0
- getEventLogger().message(_logSubject,
- getCreatedLogMessage());
-
switch(getMessageGroupType())
{
case NONE:
@@ -2032,8 +2027,6 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
performQueueDeleteTasks();
- //Log Queue Deletion
- getEventLogger().message(_logSubject, QueueMessages.DELETED(getId().toString()));
_deleteQueueDepthFuture.set(queueDepthMessages);
_transactions.clear();
@@ -3970,4 +3963,52 @@ public abstract class AbstractQueue<X extends AbstractQueue<X>>
}
}
+ @Override
+ protected void logCreated(final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(_logSubject, getCreatedLogMessage());
+ }
+ else
+ {
+ super.logCreated(attributes, outcome);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(_logSubject, getCreatedLogMessage());
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(_logSubject, QueueMessages.DELETED(getId().toString()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ getEventLogger().message(_logSubject,
+ QueueMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
index 8fe2342..a899b3c 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/queue/QueueConsumerImpl.java
@@ -45,6 +45,8 @@ import org.apache.qpid.server.filter.JMSSelectorFilter;
import org.apache.qpid.server.filter.MessageFilter;
import org.apache.qpid.server.filter.SelectorParsingException;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.SubscriptionMessages;
import org.apache.qpid.server.logging.subjects.QueueLogSubject;
@@ -568,7 +570,7 @@ class QueueConsumerImpl<T extends ConsumerTarget>
}
else
{
- String queueString = new QueueLogSubject(_queue).toLogString();
+ String queueString = new QueueLogSubject(getName(), getName()).toLogString();
logString = "[" + MessageFormat.format(SUBSCRIPTION_FORMAT, getConsumerNumber())
+ "("
// queueString is [vh(/{0})/qu({1}) ] so need to trim
@@ -627,4 +629,25 @@ class QueueConsumerImpl<T extends ConsumerTarget>
}
}
+
+ @Override
+ protected void logCreated(final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Create : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Delete : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
}
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 1df12c9..18f06b0 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
@@ -39,6 +39,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.KeyStoreMessages;
import org.apache.qpid.server.model.AbstractConfigurationChangeListener;
import org.apache.qpid.server.model.AbstractConfiguredObject;
@@ -66,7 +67,6 @@ public abstract class AbstractKeyStore<X extends AbstractKeyStore<X>>
_broker = broker;
_eventLogger = broker.getEventLogger();
- _eventLogger.message(KeyStoreMessages.CREATE(getName()));
}
public final Broker<?> getBroker()
@@ -98,7 +98,7 @@ public abstract class AbstractKeyStore<X extends AbstractKeyStore<X>>
@Override
protected void logOperation(final String operation)
{
- _broker.getEventLogger().message(KeyStoreMessages.OPERATION(operation));
+ _eventLogger.message(KeyStoreMessages.OPERATION(operation));
}
protected void initializeExpiryChecking()
@@ -168,7 +168,6 @@ public abstract class AbstractKeyStore<X extends AbstractKeyStore<X>>
protected ListenableFuture<Void> onDelete()
{
onCloseOrDelete();
- getEventLogger().message(KeyStoreMessages.DELETE(getName()));
return super.onDelete();
}
@@ -217,4 +216,52 @@ public abstract class AbstractKeyStore<X extends AbstractKeyStore<X>>
}
protected abstract Collection<Certificate> getCertificates();
+
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(KeyStoreMessages.CREATE(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(KeyStoreMessages.DELETE(getName()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ _eventLogger.message(KeyStoreMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
}
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 7285aa8..d88f6eb 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
@@ -66,6 +66,8 @@ import javax.net.ssl.X509TrustManager;
import com.google.common.collect.Sets;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.transport.network.security.ssl.SSLUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -122,7 +124,6 @@ public abstract class AbstractTrustStore<X extends AbstractTrustStore<X>>
_broker = broker;
_eventLogger = broker.getEventLogger();
- _eventLogger.message(TrustStoreMessages.CREATE(getName()));
}
public final Broker<?> getBroker()
@@ -170,6 +171,54 @@ public abstract class AbstractTrustStore<X extends AbstractTrustStore<X>>
return Futures.immediateFuture(null);
}
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(TrustStoreMessages.CREATE(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(TrustStoreMessages.DELETE(getName()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ _eventLogger.message(TrustStoreMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
+
private void onCloseOrDelete()
{
if(_checkExpiryTaskFuture != null)
@@ -217,7 +266,6 @@ public abstract class AbstractTrustStore<X extends AbstractTrustStore<X>>
protected ListenableFuture<Void> onDelete()
{
onCloseOrDelete();
- _eventLogger.message(TrustStoreMessages.DELETE(getName()));
return super.onDelete();
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/AutoGeneratedSelfSignedKeyStoreImpl.java b/broker-core/src/main/java/org/apache/qpid/server/security/AutoGeneratedSelfSignedKeyStoreImpl.java
index 1ff9803..41a9c48 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/security/AutoGeneratedSelfSignedKeyStoreImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/security/AutoGeneratedSelfSignedKeyStoreImpl.java
@@ -60,7 +60,6 @@ import com.google.common.util.concurrent.ListenableFuture;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.logging.messages.KeyStoreMessages;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.Content;
import org.apache.qpid.server.model.CustomRestHeaders;
@@ -105,7 +104,6 @@ public class AutoGeneratedSelfSignedKeyStoreImpl
super(attributes, broker);
_broker = broker;
_eventLogger = _broker.getEventLogger();
- _eventLogger.message(KeyStoreMessages.CREATE(getName()));
}
@Override
@@ -494,10 +492,4 @@ public class AutoGeneratedSelfSignedKeyStoreImpl
}
-
- @Override
- protected void logOperation(final String operation)
- {
- _broker.getEventLogger().message(KeyStoreMessages.OPERATION(operation));
- }
}
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 95ffa70..05b8c63 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
@@ -27,11 +27,11 @@ import com.google.common.util.concurrent.ListenableFuture;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.EventLoggerProvider;
+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.CommonAccessControlProvider;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Container;
import org.apache.qpid.server.model.ManagedAttributeField;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.StateTransition;
@@ -48,11 +48,7 @@ public abstract class AbstractAccessControlProvider<X extends AbstractAccessCont
public AbstractAccessControlProvider(Map<String, Object> attributes, T parent)
{
super(parent, attributes);
-
_eventLogger = parent.getEventLogger();
- _eventLogger.message(AccessControlMessages.CREATE(getName()));
-
-
}
@Override
@@ -82,15 +78,55 @@ public abstract class AbstractAccessControlProvider<X extends AbstractAccessCont
}
@Override
- protected ListenableFuture<Void> onDelete()
+ protected void logOperation(final String operation)
{
- getEventLogger().message(AccessControlMessages.DELETE(getName()));
- return super.onDelete();
+ getEventLogger().message(AccessControlMessages.OPERATION(operation));
}
@Override
- protected void logOperation(final String operation)
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(AccessControlMessages.CREATE(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(AccessControlMessages.DELETE(getName()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
{
- getAncestor(Container.class).getEventLogger().message(AccessControlMessages.OPERATION(operation));
+ getEventLogger().message(AccessControlMessages.UPDATE(getName(), outcome.name(), attributesAsString(attributes)));
}
}
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 337b109..8397302 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
@@ -21,7 +21,6 @@
package org.apache.qpid.server.security.auth.manager;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -33,14 +32,12 @@ 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.AuthenticationProviderMessages;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Container;
-import org.apache.qpid.server.model.IntegrityViolationException;
import org.apache.qpid.server.model.ManagedAttributeField;
-import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.StateTransition;
import org.apache.qpid.server.model.SystemConfig;
@@ -66,7 +63,6 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica
super(container, attributes);
_container = container;
_eventLogger = _container.getEventLogger();
- _eventLogger.message(AuthenticationProviderMessages.CREATE(getName()));
}
@Override
@@ -130,13 +126,6 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica
}
@Override
- protected ListenableFuture<Void> onDelete()
- {
- _eventLogger.message(AuthenticationProviderMessages.DELETE(getName()));
- return super.onDelete();
- }
-
- @Override
public final List<String> getSecureOnlyMechanisms()
{
return _secureOnlyMechanisms;
@@ -159,4 +148,53 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica
{
return _eventLogger;
}
+
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(AuthenticationProviderMessages.CREATE(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ getEventLogger().message(AuthenticationProviderMessages.DELETE(getName()));
+ }
+ else
+ {
+ super.logDeleted(outcome);
+ }
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ getEventLogger().message(AuthenticationProviderMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
+
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/session/AbstractAMQPSession.java b/broker-core/src/main/java/org/apache/qpid/server/session/AbstractAMQPSession.java
index 66a3839..05dd46e 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/session/AbstractAMQPSession.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/session/AbstractAMQPSession.java
@@ -36,6 +36,8 @@ import javax.security.auth.Subject;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.apache.qpid.server.connection.SessionPrincipal;
import org.apache.qpid.server.consumer.AbstractConsumerTarget;
@@ -43,6 +45,8 @@ import org.apache.qpid.server.consumer.ConsumerTarget;
import org.apache.qpid.server.consumer.ScheduledConsumerTargetSet;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.EventLoggerProvider;
+import org.apache.qpid.server.logging.LogMessage;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.ChannelMessages;
import org.apache.qpid.server.logging.subjects.ChannelLogSubject;
@@ -65,6 +69,7 @@ public abstract class AbstractAMQPSession<S extends AbstractAMQPSession<S, X>,
extends AbstractConfiguredObject<S>
implements AMQPSession<S, X>, EventLoggerProvider
{
+ private static final Logger LOGGER = LoggerFactory.getLogger(AbstractAMQPSession.class);
private final Action _deleteModelTask;
private final AMQPConnection<?> _connection;
private final int _sessionId;
@@ -374,4 +379,25 @@ public abstract class AbstractAMQPSession<S extends AbstractAMQPSession<S, X>,
_transactedMessagesIn.incrementAndGet();
_connection.registerTransactedMessageReceived();
}
+
+ @Override
+ protected void logCreated(final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Create : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ LOGGER.debug("{} : {} ({}) : Delete : {}",
+ LogMessage.getActor(),
+ getCategoryClass().getSimpleName(),
+ getName(),
+ outcome);
+ }
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java b/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
index 9281eca..2536036 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/transport/AbstractAMQPConnection.java
@@ -53,6 +53,7 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.connection.ConnectionPrincipal;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.EventLoggerProvider;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.messages.ConnectionMessages;
import org.apache.qpid.server.logging.subjects.ConnectionLogSubject;
@@ -218,7 +219,6 @@ public abstract class AbstractAMQPConnection<C extends AbstractAMQPConnection<C,
_lastReadTime = _lastWriteTime = _lastMessageInboundTime = _lastMessageOutboundTime = getCreatedTime().getTime();
_maxUncommittedInMemorySize = getContextValue(Long.class, Connection.MAX_UNCOMMITTED_IN_MEMORY_SIZE);
_transactionObserver = _maxUncommittedInMemorySize < 0 ? FlowToDiskTransactionObserver.NOOP_TRANSACTION_OBSERVER : new FlowToDiskTransactionObserver(_maxUncommittedInMemorySize, _logSubject, _eventLoggerProvider.getEventLogger());
- logConnectionOpen();
}
@Override
@@ -666,7 +666,6 @@ public abstract class AbstractAMQPConnection<C extends AbstractAMQPConnection<C,
@Override
protected ListenableFuture<Void> onDelete()
{
- getEventLogger().message(_logSubject, ConnectionMessages.MODEL_DELETE());
return closeAsyncIfNotAlreadyClosing();
}
@@ -1185,4 +1184,17 @@ public abstract class AbstractAMQPConnection<C extends AbstractAMQPConnection<C,
}
return _connectionPrincipalStatistics.getConnectionFrequency();
}
+
+ @Override
+ protected void logCreated(final Map<String, Object> attributes,
+ final Outcome outcome)
+ {
+ logConnectionOpen();
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ getEventLogger().message(_logSubject, ConnectionMessages.MODEL_DELETE());
+ }
}
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 699f3c0..7a6286b 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
@@ -86,6 +86,7 @@ import org.apache.qpid.server.exchange.DefaultDestination;
import org.apache.qpid.server.exchange.ExchangeDefaults;
import org.apache.qpid.server.filter.AMQInvalidArgumentException;
import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.Outcome;
import org.apache.qpid.server.logging.messages.MessageStoreMessages;
import org.apache.qpid.server.logging.messages.VirtualHostMessages;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
@@ -298,8 +299,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
final SystemConfig systemConfig = (SystemConfig) _broker.getParent();
_eventLogger = systemConfig.getEventLogger();
- _eventLogger.message(VirtualHostMessages.CREATED(getName()));
-
_principal = new VirtualHostPrincipal(this);
if (systemConfig.isManagementMode())
@@ -3402,4 +3401,45 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
}
}
+
+ @Override
+ 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);
+ }
+ }
+
+ @Override
+ protected void logRecovered(final Outcome outcome)
+ {
+ if (outcome == Outcome.SUCCESS)
+ {
+ _eventLogger.message(VirtualHostMessages.CREATED(getName()));
+ }
+ else
+ {
+ super.logRecovered(outcome);
+ }
+ }
+
+ @Override
+ protected void logDeleted(final Outcome outcome)
+ {
+ _eventLogger.message(VirtualHostMessages.DELETE(getName(), String.valueOf(outcome)));
+ }
+
+ @Override
+ protected void logUpdated(final Map<String, Object> attributes, final Outcome outcome)
+ {
+ _eventLogger.message(VirtualHostMessages.UPDATE(getName(),
+ String.valueOf(outcome),
+ attributesAsString(attributes)));
+ }
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
index 3f5300e..b9a4b15 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
@@ -278,7 +278,8 @@ public abstract class AbstractVirtualHostNode<X extends AbstractVirtualHostNode<
return _broker;
}
- protected EventLogger getEventLogger()
+ @Override
+ public EventLogger getEventLogger()
{
return _eventLogger;
}
diff --git a/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java b/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
index bc08e79..c3fd502 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/RedirectingVirtualHostNodeImpl.java
@@ -34,6 +34,7 @@ import com.google.common.util.concurrent.SettableFuture;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -278,4 +279,9 @@ public class RedirectingVirtualHostNodeImpl
return Collections.singletonMap(VirtualHost.class.getSimpleName(), validVhostTypes);
}
+ @Override
+ public EventLogger getEventLogger()
+ {
+ return _broker.getEventLogger();
+ }
}
diff --git a/broker-core/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java b/broker-core/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java
index fafb918..369be16 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/logging/subjects/QueueLogSubjectTest.java
@@ -50,7 +50,7 @@ public class QueueLogSubjectTest extends AbstractTestLogSubject
when(_queue.getName()).thenReturn("QueueLogSubjectTest");
when(_queue.getVirtualHost()).thenReturn(_testVhost);
- _subject = new QueueLogSubject(_queue);
+ _subject = new QueueLogSubject(_queue.getName(),_queue.getVirtualHost().getName());
}
@After
diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java b/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
index b3dea1b..879d87c 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/model/VirtualHostTest.java
@@ -733,8 +733,8 @@ public class VirtualHostTest extends UnitTestBase
}
}
};
-
- QueueManagingVirtualHost<?> vhost = createVirtualHost("host");
+ String virtualHostName = getTestName();
+ QueueManagingVirtualHost<?> vhost = createVirtualHost(virtualHostName);
Map<String, Object> newAttributes = Collections.singletonMap(QueueManagingVirtualHost.NODE_AUTO_CREATION_POLICIES,
diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractCarImpl.java b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractCarImpl.java
index f01a6a4..63340bc 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractCarImpl.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestAbstractCarImpl.java
@@ -26,6 +26,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
+import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ManagedAttributeField;
@@ -37,6 +38,7 @@ public abstract class TestAbstractCarImpl<X extends TestAbstractCarImpl<X>> exte
private Colour _bodyColour;
@ManagedAttributeField
private Colour _interiorColour;
+ private EventLogger _eventLogger;
private AtomicInteger _mileage = new AtomicInteger();
@@ -44,12 +46,13 @@ public abstract class TestAbstractCarImpl<X extends TestAbstractCarImpl<X>> exte
public TestAbstractCarImpl(final Map<String, Object> attributes)
{
- super(null, attributes, newTaskExecutor(), TestModel.getInstance());
+ this(attributes, TestModel.getInstance());
}
public TestAbstractCarImpl(final Map<String, Object> attributes, Model model)
{
super(null, attributes, newTaskExecutor(), model);
+ _eventLogger = new EventLogger();
}
@Override
@@ -123,4 +126,10 @@ public abstract class TestAbstractCarImpl<X extends TestAbstractCarImpl<X>> exte
{
return 0;
}
+
+ @Override
+ public EventLogger getEventLogger()
+ {
+ return _eventLogger;
+ }
}
diff --git a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestCar.java b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestCar.java
index 8588d60..4dc966a 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestCar.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/model/testmodels/hierarchy/TestCar.java
@@ -20,6 +20,7 @@
*/
package org.apache.qpid.server.model.testmodels.hierarchy;
+import org.apache.qpid.server.logging.EventLoggerProvider;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ManagedAttribute;
import org.apache.qpid.server.model.ManagedContextDefault;
@@ -31,7 +32,7 @@ import org.apache.qpid.server.model.StatisticType;
import org.apache.qpid.server.model.StatisticUnit;
@ManagedObject( defaultType = TestStandardCarImpl.TEST_STANDARD_CAR_TYPE)
-public interface TestCar<X extends TestCar<X>> extends ConfiguredObject<X>
+public interface TestCar<X extends TestCar<X>> extends ConfiguredObject<X>, EventLoggerProvider
{
enum Colour { BLACK, RED, BLUE, GREY };
diff --git a/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java b/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java
index bf31788..00f1785 100644
--- a/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java
+++ b/broker-core/src/test/java/org/apache/qpid/server/virtualhost/AbstractVirtualHostTest.java
@@ -63,6 +63,7 @@ import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.security.AccessControl;
import org.apache.qpid.server.store.DurableConfigurationStore;
+import org.apache.qpid.server.store.Event;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.preferences.PreferenceStore;
import org.apache.qpid.server.util.FileUtils;
@@ -103,6 +104,7 @@ public class AbstractVirtualHostTest extends UnitTestBase
when(_node.getConfigurationStore()).thenReturn(mock(DurableConfigurationStore.class));
when(_node.getCategoryClass()).thenReturn(VirtualHostNode.class);
when(_node.createPreferenceStore()).thenReturn(mock(PreferenceStore.class));
+ when(_node.getEventLogger()).thenReturn(mock(EventLogger.class));
_failingStore = mock(MessageStore.class);
doThrow(new RuntimeException("Cannot open store")).when(_failingStore).openMessageStore(any(ConfiguredObject.class));
diff --git a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementException.java b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementException.java
index 8e7b3c3..885a702 100644
--- a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementException.java
+++ b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementException.java
@@ -192,7 +192,7 @@ public class ManagementException extends RuntimeException
}
else if (e instanceof IllegalConfigurationException || e instanceof IllegalArgumentException)
{
- LOGGER.warn("{} processing request {} from user '{}': {}",
+ LOGGER.info("{} processing request {} from user '{}': {}",
e.getClass().getSimpleName(),
getRequestURI(path, categoryMapping),
getRequestPrincipals(),
@@ -201,7 +201,7 @@ public class ManagementException extends RuntimeException
int maxDepth = 10;
while ((t = t.getCause()) != null && maxDepth-- != 0)
{
- LOGGER.warn("... caused by " + t.getClass().getSimpleName() + " : " + t.getMessage());
+ LOGGER.info("... caused by " + t.getClass().getSimpleName() + " : " + t.getMessage());
}
if (LOGGER.isDebugEnabled())
{
diff --git a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/logging/VirtualHostLoggerTest.java b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/logging/VirtualHostLoggerTest.java
index 5a0154e..d3907fb 100644
--- a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/logging/VirtualHostLoggerTest.java
+++ b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/endtoend/logging/VirtualHostLoggerTest.java
@@ -186,7 +186,7 @@ public class VirtualHostLoggerTest extends HttpTestBase
try (InputStreamReader r = new InputStreamReader(httpCon.getInputStream()))
{
final List<String> strings = CharStreams.readLines(r);
- return strings.stream().map(line -> line.contains(searchTerm)).collect(Collectors.toList()).size();
+ return strings.stream().filter(line -> line.contains(searchTerm)).collect(Collectors.toList()).size();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org