Github user jbertram commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1592#discussion_r145231515
--- Diff:
artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTUtil.java
---
@@ -149,16 +154,52 @@ public static void logMessage(MQTTSessionState state,
MqttMessage message, boole
if (message.fixedHeader() != null) {
log.append(message.fixedHeader().messageType().toString());
- if (message.variableHeader() instanceof
MqttPublishVariableHeader) {
- log.append("(" + ((MqttPublishVariableHeader)
message.variableHeader()).messageId() + ") " +
message.fixedHeader().qosLevel());
- } else if (message.variableHeader() instanceof
MqttMessageIdVariableHeader) {
+ if (message.variableHeader() instanceof
MqttMessageIdVariableHeader) {
log.append("(" + ((MqttMessageIdVariableHeader)
message.variableHeader()).messageId() + ")");
}
- if (message.fixedHeader().messageType() ==
MqttMessageType.SUBSCRIBE) {
- for (MqttTopicSubscription sub : ((MqttSubscribeMessage)
message).payload().topicSubscriptions()) {
- log.append("\n\t" + sub.topicName() + " : " +
sub.qualityOfService());
- }
+ switch (message.fixedHeader().messageType()) {
+ case PUBLISH:
+ MqttPublishVariableHeader publishHeader =
(MqttPublishVariableHeader) message.variableHeader();
+ log.append("(" + publishHeader.packetId() + ")")
+ .append(" topic=" + publishHeader.topicName())
+ .append(", qos=" + message.fixedHeader().qosLevel())
+ .append(", retain=" +
message.fixedHeader().isRetain())
+ .append(", dup=" + message.fixedHeader().isDup());
+ //.append(" payload=" +
((MqttPublishMessage)message).payload().toString(StandardCharsets.UTF_8));
--- End diff --
I disagree that this should be removed as it can serve as a really
convenient way to look at the payload granted they're UTF-8 encoded strings.
The only reason it's commented out is because the MQTT spec has no rules on the
format of the payload. It's just an array of bytes. However, if you happen to
be working with UTF-8 encoded string then this might prove helpful.
---