1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.or.jms;
18
19 import org.apache.log4j.or.ObjectRenderer;
20 import org.apache.logging.log4j.Logger;
21 import org.apache.logging.log4j.status.StatusLogger;
22
23 import javax.jms.Message;
24 import javax.jms.JMSException;
25 import javax.jms.DeliveryMode;
26
27
28
29
30 public class MessageRenderer implements ObjectRenderer {
31 private static final Logger LOGGER = StatusLogger.getLogger();
32
33
34
35
36 @Override
37 public
38 String doRender(Object obj) {
39 if (obj instanceof Message) {
40 StringBuilder sb = new StringBuilder();
41 Message message = (Message) obj;
42 try {
43 sb.append("DeliveryMode=");
44 switch(message.getJMSDeliveryMode()) {
45 case DeliveryMode.NON_PERSISTENT :
46 sb.append("NON_PERSISTENT");
47 break;
48 case DeliveryMode.PERSISTENT :
49 sb.append("PERSISTENT");
50 break;
51 default: sb.append("UNKNOWN");
52 }
53 sb.append(", CorrelationID=");
54 sb.append(message.getJMSCorrelationID());
55
56 sb.append(", Destination=");
57 sb.append(message.getJMSDestination());
58
59 sb.append(", Expiration=");
60 sb.append(message.getJMSExpiration());
61
62 sb.append(", MessageID=");
63 sb.append(message.getJMSMessageID());
64
65 sb.append(", Priority=");
66 sb.append(message.getJMSPriority());
67
68 sb.append(", Redelivered=");
69 sb.append(message.getJMSRedelivered());
70
71 sb.append(", ReplyTo=");
72 sb.append(message.getJMSReplyTo());
73
74 sb.append(", Timestamp=");
75 sb.append(message.getJMSTimestamp());
76
77 sb.append(", Type=");
78 sb.append(message.getJMSType());
79
80 } catch(JMSException e) {
81 LOGGER.error("Could not parse Message.", e);
82 }
83 return sb.toString();
84 }
85 return obj.toString();
86 }
87 }