# \[Logstash\] Plugin split filter

**URL:** https://discuss.elastic.co/t/logstash-plugin-split-filter/94338
**Category:** Discussions en français
**Created:** [July 24, 2017, 1:23pm UTC](https://discuss.elastic.co/t/logstash-plugin-split-filter/94338 "2017-07-24T13:23:42Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Benjamin\_Carriou](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/benjamin_carriou/32/47347_2.png) [@Benjamin\_Carriou](https://discuss.elastic.co/u/Benjamin_Carriou)
#### Post date: [July 24, 2017, 1:23pm UTC](https://discuss.elastic.co/t/logstash-plugin-split-filter/94338/1 "2017-07-24T13:23:42Z")

</div>

Bonjour,

Lorsque je split un xml avec Logstash, j'ai l'erreur suivante:

```
Exception in pipelineworker, the pipeline stopped processing new events, please check your filter configuration and restart Logstash. {"exception"=>#<LogStash::ConfigurationError: Only String and Array types are splittable.  
field:[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId] is of type = Hash>

, "backtrace"=>
["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-split-2.0.5/lib/logstash/filters/split.rb:49:in `filter'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/filters/base.rb:151:in 
`multi_filter'", "org/jruby/RubyArray.java:1613:in `each'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/filters/base.rb:148:in 
`multi_filter'", "(eval):325:in `initialize'", "org/jruby/RubyArray.java:1613:in `each'", "(eval):316:in `initialize'", 
"org/jruby/RubyProc.java:281:in `call'", "(eval):302:in `filter_func'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/pipeline.rb:267:in 
`filter_batch'", "org/jruby/RubyArray.java:1613:in `each'", "org/jruby/RubyEnumerable.java:852:in `inject'", 
"/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/pipeline.rb:265:in 
`filter_batch'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-
 java/lib/logstash/pipeline.rb:223:in `worker_loop'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-
core-
2.4.1-java/lib/logstash/pipeline.rb:201:in `start_workers'"], :level=>:error}
LogStash::ConfigurationError: Only String and Array types are splittable. field:[parsed][Body]
[FlightListByAerodromeReply][data][flights][flight][flightId] is of type = Hash
filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-split-2.0.5/lib/logstash/filters/split.rb:49
multi_filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-
java/lib/logstash/filters/base.rb:151
       each at org/jruby/RubyArray.java:1613
multi_filter at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-
java/lib/logstash/filters/base.rb:148
 initialize at (eval):325
       each at org/jruby/RubyArray.java:1613
 initialize at (eval):316
       call at org/jruby/RubyProc.java:281
filter_func at (eval):302
 filter_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-
java/lib/logstash/pipeline.rb:267
       each at org/jruby/RubyArray.java:1613
     inject at org/jruby/RubyEnumerable.java:852
filter_batch at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/pipeline.rb:265
worker_loop at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/pipeline.rb:223
start_workers at /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/pipeline.rb:201

```

Voici ma configuration Logstash:

```
filter {
    if [type] == "FlightListByAerodromeReply" {
xml {
    source => "message"
    #store_xml => false
    target => "parsed"
    #force_array => false
}
split {
   field => "[parsed][Body]"
}
split {
   field => "[parsed][Body][FlightListByAerodromeReply]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data][effectiveTrafficWindow]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data][flights]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data][flights][flight]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId]"
}
split {
  field => "[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys]"
}
mutate {
  add_field => { flightId => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][id]}" }
  add_field => { aircraftId => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys]
 [aircraftId]}" }
add_field => { aerodromeOfDestination => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][aerodromeOfDestination]}" }
add_field => { estimatedOffBlockTime => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][estimatedOffBlockTime]}" }
add_field => { airFiled => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][airFiled]}" }
add_field => { nonICAOAerodromeOfDestination => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][nonICAOAerodromeOfDestination]}" }
add_field => { nonICAOAerodromeOfDeparture => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][nonICAOAerodromeOfDeparture]}" }
add_field => { aerodromeOfDeparture => "%{[parsed][Body][FlightListByAerodromeReply][data][flights][flight][flightId][keys][aerodromeOfDeparture]}" }
add_field => { wef => "%{[parsed][Body][FlightListByAerodromeReply][data][effectiveTrafficWindow][wef]}" }
add_field => { unt => "%{[parsed][Body][FlightListByAerodromeReply][data][effectiveTrafficWindow][unt]}" }
add_field => { requestReceptionTime => "%{[parsed][Body][FlightListByAerodromeReply][requestReceptionTime]}" }
add_field => { sendTime => "%{[parsed][Body][FlightListByAerodromeReply][sendTime]}" }
add_field => { status => "%{[parsed][Body][FlightListByAerodromeReply][status]}" }
remove_field => ["message"]
remove_field => ["parsed"]
    }
  }
}

```

- Version Logstash (Docker): 'logstash:2.4.1-alpine'.
- Version plugin 'logstash-filter-split': '2.0.5'.

Merci de votre aide.  
Benjamin

---

<div class="post-metadata">

### Author: ![Julien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/julien/32/19688_2.png) [@Julien](https://discuss.elastic.co/u/Julien)
#### Post date: [August 11, 2017, 9:33pm UTC](https://discuss.elastic.co/t/logstash-plugin-split-filter/94338/3 "2017-08-11T21:33:50Z")

</div>

l'erreur semble apparaitre au dernier split donc ca devrait etre specifique au fichier xml puisque flightid est un hash au lieu d'un array ou String. Pouvez-vous joindre le xml ?

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [September 8, 2017, 9:34pm UTC](https://discuss.elastic.co/t/logstash-plugin-split-filter/94338/4 "2017-09-08T21:34:07Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
