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
 

Reply via email to