# NoMethodError: undefined method \`eventget' for #\<LogStash::Filters::Mutate:0x65caadda\>\>

**URL:** <https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862>\
**Category:** Logstash\
**Created:** [September 19, 2016, 9:58am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862 "2016-09-19T09:58:24Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chenjianbin](https://avatars.discourse-cdn.com/v4/letter/c/5f8ce5/32.png) [@chenjianbin](https://discuss.elastic.co/u/chenjianbin)\
**Post date:** [September 19, 2016, 9:58am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862/1 "2016-09-19T09:58:24Z")

</div>

my logstash version is 5.0.0-alpha5 and the following is my configuration .  
input {  
redis {  
batch\_count =\> 1000  
host =\> "127.0.0.1"  
port =\> 6379  
password =\> "xx"  
db =\> 0  
key =\> "beats"  
data\_type =\> "list"  
timeout =\> 5  
}  
}

filter {  
grok {  
patterns\_dir =\> ["/etc/logstash/patterns"]  
match =\> { "message" =\> "%{NGINX\_ACCESS}"}  
overwrite =\> ["host"]  
remove\_field =\> ["message" , "source" , "offset" , "input\_type"]  
}  
mutate {  
convert =\> { "status" =\> "integer" }  
convert =\> { "body\_bytes\_sent" =\> "integer" }  
convert =\> { "request\_length" =\> "integer" }  
convert =\> { "request\_time" =\> "float" }  
convert =\> { "upstream\_status" =\> "integer" }  
convert =\> { "upstream\_response\_time" =\> "float" }  
}

```
if [http_x_forwarded_for] == "-" {
    mutate {
        add_field => { "client_ip" => "%{remote_addr}"}
    }
} else {
    mutate {
        split => { "http_x_forwarded_for" => "," }
        add_field => { "client_ip" => "%{[http_x_forwarded_for][0]}"}
    }
}

date {
    match => ["time_local" , "dd/MMM/yyyy:HH:mm:ss Z"]
}

geoip {
    source => "client_ip"
}

useragent {
    source => "http_user_agent"
    target => "user_agent"
}

```

}

output {  
elasticsearch {  
hosts =\> ["127.0.0.1:9200"]  
index =\> "logstash-%{type}-%{+YYYY.MM.dd}"  
flush\_size =\> 20000  
idle\_flush\_time =\> 10  
}  
#stdout { codec =\> rubydebug }  
}

here is the error message.  
Sending logstash logs to /var/log/logstash/logstash.log.  
Pipeline main started  
NoMethodError: undefined method `eventget' for #LogStash::Filters::Mutate:0x29585536  
split at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-3.1.1/lib/logstash/filters/mutate.rb:369  
each at org/jruby/RubyHash.java:1342  
split at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-3.1.1/lib/logstash/filters/mutate.rb:368  
filter at /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-3.1.1/lib/logstash/filters/mutate.rb:212  
multi\_filter at /usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:155  
each at org/jruby/RubyArray.java:1613  
multi\_filter at /usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:152  
multi\_filter at /usr/share/logstash/logstash-core/lib/logstash/filter\_delegator.rb:42  
filter\_func at (eval):155  
filter\_batch at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:250  
call at org/jruby/RubyProc.java:281  
each at /usr/share/logstash/logstash-core/lib/logstash/util/wrapped\_synchronous\_queue.rb:155  
each at org/jruby/RubyHash.java:1342  
each at /usr/share/logstash/logstash-core/lib/logstash/util/wrapped\_synchronous\_queue.rb:154  
filter\_batch at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:248  
worker\_loop at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:236  
start\_workers at /usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:215

---

<div class="post-metadata">

**Author:** ![chenjianbin](https://avatars.discourse-cdn.com/v4/letter/c/5f8ce5/32.png) [@chenjianbin](https://discuss.elastic.co/u/chenjianbin)\
**Post date:** [September 21, 2016, 9:26am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862/3 "2016-09-21T09:26:37Z")

</div>

I have solved the problem. this is a bug.  
the "eventget" method in "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-mutate-3.1.1/lib/logstash/filters/mutate.rb:368" should be "event.get"

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [September 21, 2016, 11:11am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862/4 "2016-09-21T11:11:44Z")

</div>

Indeed. I wonder how that slipped through the test. Do you want to send a pull request to fix this?

---

<div class="post-metadata">

**Author:** ![chenjianbin](https://avatars.discourse-cdn.com/v4/letter/c/5f8ce5/32.png) [@chenjianbin](https://discuss.elastic.co/u/chenjianbin)\
**Post date:** [September 23, 2016, 2:27am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862/5 "2016-09-23T02:27:14Z")

</div>

Thank you for your invitation, but I saw the latest mutate source code, bug has been resolved

---

<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:** [July 6, 2017, 4:37am UTC](https://discuss.elastic.co/t/nomethoderror-undefined-method-eventget-for-logstash-filters-mutate-0x65caadda/60862/6 "2017-07-06T04:37:15Z")

</div>


