According to RFC 5424 syslog structured data can be like the below examples:
All examples in this section show only the structured data part of
the message. Examples should be considered to be on one line. They
are wrapped on multiple lines in this document for readability
purposes. A description is given after each example.
Example 1 - Valid
[exampleSDID@32473 iut="3" eventSource="Application"
eventID="1011"]
This example is a structured data element with a non-IANA controlled
SD-ID of type "exampleSDID@32473", which has three parameters.
Example 2 - Valid
[exampleSDID@32473 iut="3" eventSource="Application"
eventID="1011"][examplePriority@32473 class="high"]
But the syslog data format (org.apache.camel.component.syslog.SyslogConverter)
just considers the value till next space as the structured message.
StringBuilder msgId = new StringBuilder();
while ((charFound = (char) (byteBuffer.get() & 0xff)) != ' ') {
msgId.append(charFound);
}
rfc5424SyslogMessage.setMsgId(msgId.toString());
StringBuilder structuredData = new StringBuilder();
while ((charFound = (char) (byteBuffer.get() & 0xff)) != ' ') {
structuredData.append(charFound);
}
rfc5424SyslogMessage.setStructuredData(structuredData.toString());
This seems to be a bug to me. Is there a fix or latest version available for
this parsing?
Best Regards,Sameer