From 4a1b5e3058d8795a9d9b4fe5bfa2e97b05deaf4a Mon Sep 17 00:00:00 2001 From: Gabriel Landais <glandais@kereval.com> Date: Tue, 14 Feb 2012 16:18:37 +0000 Subject: [PATCH] Detailed syslog message view git-svn-id: https://scm.gforge.inria.fr/authscm/ycadoret/svn/gazelle/Maven/gazelle-proxy/trunk@26335 356b4b1a-1d2b-0410-8bf1-ffa24008f01e --- .../src/main/webapp/messages/syslog.xhtml | 20 +++++++++++ .../proxy/model/message/SyslogMessage.java | 13 +++++++- .../netty/protocols/syslog/SyslogData.java | 33 ++++++++++++------- .../protocols/syslog/SyslogFrameDecoder.java | 3 +- 4 files changed, 55 insertions(+), 14 deletions(-) diff --git a/gazelle-proxy-common-war/src/main/webapp/messages/syslog.xhtml b/gazelle-proxy-common-war/src/main/webapp/messages/syslog.xhtml index 8f5955cd..a9cda94a 100644 --- a/gazelle-proxy-common-war/src/main/webapp/messages/syslog.xhtml +++ b/gazelle-proxy-common-war/src/main/webapp/messages/syslog.xhtml @@ -13,6 +13,26 @@ <h:form> <h:panelGrid columns="2"> <ui:include src="commonProperties.xhtml" /> + + <h:outputText value="Facility :" /> + <h:outputText value="#{messageBean.message.facility}" /> + <h:outputText value="Hostname :" /> + <h:outputText value="#{messageBean.message.hostName}" /> + <h:outputText value="Severity :" /> + <h:outputText value="#{messageBean.message.severity}" /> + <h:outputText value="Timestamp :" /> + <h:outputText value="#{messageBean.message.timestamp}" /> + <h:outputText value="Tag :" /> + <h:outputText value="#{messageBean.message.tag}" /> + <h:outputText value="Application name :" /> + <h:outputText value="#{messageBean.message.appName}" /> + <h:outputText value="Message id :" /> + <h:outputText value="#{messageBean.message.messageId}" /> + <h:outputText value="Proc id :" /> + <h:outputText value="#{messageBean.message.procId}" /> + <h:outputText value="Payload :" /> + <h:outputText value="#{messageBean.message.payLoad}" /> + </h:panelGrid> <ui:include src="commonDownload.xhtml" /> </h:form> diff --git a/gazelle-proxy-jar/src/main/java/net/ihe/gazelle/proxy/model/message/SyslogMessage.java b/gazelle-proxy-jar/src/main/java/net/ihe/gazelle/proxy/model/message/SyslogMessage.java index 069b5bbe..393edda6 100644 --- a/gazelle-proxy-jar/src/main/java/net/ihe/gazelle/proxy/model/message/SyslogMessage.java +++ b/gazelle-proxy-jar/src/main/java/net/ihe/gazelle/proxy/model/message/SyslogMessage.java @@ -45,6 +45,8 @@ public class SyslogMessage extends AbstractMessage implements java.io.Serializab private String procId; + private String payLoad; + public SyslogMessage() { super(); setProxySide(ProxySide.REQUEST); @@ -61,7 +63,8 @@ public class SyslogMessage extends AbstractMessage implements java.io.Serializab this.appName = request.getAppName(); this.messageId = request.getMessageId(); this.procId = request.getProcId(); - setMessageReceivedAsString(request.getMessage()); + this.payLoad = request.getPayload(); + setMessageReceivedAsString(request.getRawMessage()); } public ChannelType getChannelType() { @@ -132,4 +135,12 @@ public class SyslogMessage extends AbstractMessage implements java.io.Serializab this.procId = procId; } + public String getPayLoad() { + return payLoad; + } + + public void setPayLoad(String payLoad) { + this.payLoad = payLoad; + } + } diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogData.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogData.java index c6392f39..d80e7b5a 100644 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogData.java +++ b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogData.java @@ -14,34 +14,37 @@ public class SyslogData { private String hostName; private int severity; private String timestamp; - private String message; + private String payload; private String tag; private String appName; private String messageId; private String procId; + private String rawMessage; - public SyslogData(SyslogMessage<?> syslogMessage) { + public SyslogData(SyslogMessage<?> syslogMessage, String rawMessage) { super(); + this.rawMessage = rawMessage; + facility = syslogMessage.getFacility(); hostName = syslogMessage.getHostName(); severity = syslogMessage.getSeverity(); timestamp = syslogMessage.getTimestamp(); LogMessage<?> logMessage = syslogMessage.getMessage(); - message = null; + payload = null; if (logMessage != null) { Object messageObject = logMessage.getMessageObject(); if (messageObject instanceof String) { - message = (String) messageObject; + payload = (String) messageObject; } else { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { logMessage.write(bos); - message = new String(bos.toByteArray()); + payload = new String(bos.toByteArray()); } catch (SyslogException e) { - message = null; + payload = null; } } } @@ -79,10 +82,6 @@ public class SyslogData { return timestamp; } - public String getMessage() { - return message; - } - public String getTag() { return tag; } @@ -99,6 +98,14 @@ public class SyslogData { return procId; } + public String getPayload() { + return payload; + } + + public String getRawMessage() { + return rawMessage; + } + @Override public String toString() { StringBuilder builder = new StringBuilder(); @@ -110,8 +117,8 @@ public class SyslogData { builder.append(severity); builder.append(", timestamp="); builder.append(timestamp); - builder.append(", message="); - builder.append(message); + builder.append(", payload="); + builder.append(payload); builder.append(", tag="); builder.append(tag); builder.append(", appName="); @@ -120,6 +127,8 @@ public class SyslogData { builder.append(messageId); builder.append(", procId="); builder.append(procId); + builder.append(", rawMessage="); + builder.append(rawMessage); builder.append("]"); return builder.toString(); } diff --git a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogFrameDecoder.java b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogFrameDecoder.java index d952089d..213f5225 100644 --- a/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogFrameDecoder.java +++ b/gazelle-proxy-netty/src/main/java/net/ihe/gazelle/proxy/netty/protocols/syslog/SyslogFrameDecoder.java @@ -40,9 +40,10 @@ class SyslogFrameDecoder extends FrameDecoder { if (currentFrame.size() == messageSize) { status = STATUS_END; byte[] bytes = currentFrame.toByteArray(); + String rawMessage = new String(bytes, "UTF-8"); SyslogMessage<?> syslogMessage = SyslogMessageFactory.getFactory().read( new ByteArrayInputStream(bytes)); - return new SyslogData(syslogMessage); + return new SyslogData(syslogMessage, rawMessage); } currentFrame.write(readByte); break; -- GitLab