julsss  
                
               
                 
                 
              
                  
                    March 22, 2019,  8:06am
                   
                   
              1 
               
             
            
              Good day everyone,
I am new to this technology and I am trying to filter an xml file with the following elements.
Now, when I checked kibana. The first event that I parsed always include the parent tag 
Due to this when I checked my logstash service it always encounter an error
[2019-03-22T15:47:14,641][WARN ][logstash.filters.xml     ] Error parsing xml with XmlSimple {:source=>"message", :value=>"\n    <Event\n        xmlns="http://logging.apache.org/log4j/2.0/events\ " thread="scheduling-1" level="DEBUG" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">\n        <Instant epochSecond="1552441415" nanoOfSecond="434000000">\n        You rest at an inn.\n    ", :exception=>#<REXML::ParseException: No close tag for /Events
 
Can someone please enlighten why I am encountering this scenario.
Here is my config for the filebeat.
document_type : xml 
multiline.pattern: '^<Event\n' 
multiline.negate: true 
multiline.match: after 
multiline.flush_pattern: '</Event>'
Thank you in advance.
             
            
               
               
               
            
            
           
          
            
              
                adrisr  
                (Adrian Serrano)
               
              
                  
                    March 22, 2019,  9:38am
                   
                   
              2 
               
             
            
              Hi,
There is an error in your multiline.pattern, it is currently not matching any lines. You should get rid of the caret ^.
I tested using this settings:
  multiline.pattern: '<Event>'
  multiline.negate: true
  multiline.match: after
  multiline.flush_pattern: '</Event>'
  exclude_lines: 'Events>'
 
and this sample file:
<Events>
  <Event>
    <Message>Line 1</Message>
  </Event>
  <Event>
    <Message>Line 2</Message>
  </Event>
  <Event>
    <Message>Line 3</Message>
  </Event>
</Events>
 
This results in 3 documents being published:
"message": "  <Event>\n    <Message>Line 1</Message>\n  </Event>",
 
"message": "  <Event>\n    <Message>Line 2</Message>\n  </Event>",
 
"message": "  <Event>\n    <Message>Line 3</Message>\n  </Event>",
 
             
            
               
               
               
            
            
           
          
            
              
                julsss  
                
               
              
                  
                    March 22, 2019, 10:09am
                   
                   
              3 
               
             
            
              Helllo,
Thank you for the response. I tried the config you have provided. It removes the <Events> tag. But apparently the first <Event>  tag is not included in the document published. This is the whole xml document I am using.
> <Events>
>    <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="DEBUG" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>        <Instant epochSecond="1552441415" nanoOfSecond="434000000"></Instant>
>         <Message>You rest at an inn.</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You levelled up! You are now level 1</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You levelled up! You are now level 2</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You levelled up! You are now level 3</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You levelled up! You are now level 4</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You levelled up! You are now level 5</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You died</Message>
>     </Event>
>     <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="ERROR" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>         <Instant epochSecond="1552441417" nanoOfSecond="306000000"></Instant>
>         <Message>You respawn</Message>
>     </Event>
> </Events>
 
The document results is only 7.
The event below was not included in the document result:
>    <Event
>         xmlns="http://logging.apache.org/log4j/2.0/events" thread="scheduling-1" level="DEBUG" loggerName="com.ck.logdemo.AdventureTime" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="33" threadPriority="5">
>        <Instant epochSecond="1552441415" nanoOfSecond="434000000"></Instant>
>         <Message>You rest at an inn.</Message>
>     </Event> 
             
            
               
               
               
            
            
           
          
            
              
                adrisr  
                (Adrian Serrano)
               
              
                  
                    March 22, 2019, 10:45am
                   
                   
              4 
               
             
            
              Oh, I didn't realise that your "" is not found in a single line, so the provided multiline.pattern never matches.
Replace with:
   multiline.pattern: '<Event'
 
             
            
               
               
               
            
            
           
          
            
              
                julsss  
                
               
              
                  
                    March 25, 2019,  2:21am
                   
                   
              5 
               
             
            
              Thanks for the response. That solved my problem.
May I know why the <Events> tag was included in the first document? Even though I set the multiline.match to after.
             
            
               
               
               
            
            
           
          
            
              
                system  
                (system)
                  Closed 
               
              
                  
                    April 22, 2019,  2:21am
                   
                   
              6 
               
             
            
              This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.