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 public
37 String doRender(Object obj) {
38 if (obj instanceof Message) {
39 StringBuilder sb = new StringBuilder();
40 Message message = (Message) obj;
41 try {
42 sb.append("DeliveryMode=");
43 switch(message.getJMSDeliveryMode()) {
44 case DeliveryMode.NON_PERSISTENT :
45 sb.append("NON_PERSISTENT");
46 break;
47 case DeliveryMode.PERSISTENT :
48 sb.append("PERSISTENT");
49 break;
50 default: sb.append("UNKNOWN");
51 }
52 sb.append(", CorrelationID=");
53 sb.append(message.getJMSCorrelationID());
54
55 sb.append(", Destination=");
56 sb.append(message.getJMSDestination());
57
58 sb.append(", Expiration=");
59 sb.append(message.getJMSExpiration());
60
61 sb.append(", MessageID=");
62 sb.append(message.getJMSMessageID());
63
64 sb.append(", Priority=");
65 sb.append(message.getJMSPriority());
66
67 sb.append(", Redelivered=");
68 sb.append(message.getJMSRedelivered());
69
70 sb.append(", ReplyTo=");
71 sb.append(message.getJMSReplyTo());
72
73 sb.append(", Timestamp=");
74 sb.append(message.getJMSTimestamp());
75
76 sb.append(", Type=");
77 sb.append(message.getJMSType());
78
79 } catch(JMSException e) {
80 LOGGER.error("Could not parse Message.", e);
81 }
82 return sb.toString();
83 } else {
84 return obj.toString();
85 }
86 }
87 }