Skip to content

Instantly share code, notes, and snippets.

@mschulkind
Created May 8, 2014 04:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mschulkind/974ebfca1ad395d9fab1 to your computer and use it in GitHub Desktop.
Save mschulkind/974ebfca1ad395d9fab1 to your computer and use it in GitHub Desktop.
{:timestamp=>"2014-05-08T04:49:21.066000+0000", :message=>"config LogStash::Outputs::ElasticSearch/@action = \"index\"", :level=>:debug, :file=>"logstash/config/mixin.rb", :line=>"105"}
{:timestamp=>"2014-05-08T04:49:28.311000+0000", :message=>"Starting lumberjack input listener", :address=>"0.0.0.0:12345", :level=>:info, :file=>"logstash/inputs/lumberjack.rb", :line=>"38"}
{:timestamp=>"2014-05-08T04:49:28.721000+0000", :message=>"Pipeline started", :level=>:info, :file=>"logstash/pipeline.rb", :line=>"78"}
{:timestamp=>"2014-05-08T04:49:35.001000+0000", :message=>"New Elasticsearch output", :cluster=>nil, :host=>"localhost", :port=>"9201", :embedded=>false, :protocol=>"http", :level=>:info, :file=>"logstash/outputs/elasticsearch.rb", :line=>"240"}
{:timestamp=>"2014-05-08T04:49:35.013000+0000", :message=>"Automatic template management enabled", :manage_template=>"true", :level=>:info, :file=>"logstash/outputs/elasticsearch.rb", :line=>"259"}
{:timestamp=>"2014-05-08T04:49:35.015000+0000", :message=>"Using mapping template", :template=>"{ \"template\" : \"logstash-*\", \"settings\" : { \"index.refresh_interval\" : \"5s\" }, \"mappings\" : { \"_default_\" : { \"_all\" : {\"enabled\" : true}, \"dynamic_templates\" : [ { \"string_fields\" : { \"match\" : \"*\", \"match_mapping_type\" : \"string\", \"mapping\" : { \"type\" : \"string\", \"index\" : \"analyzed\", \"omit_norms\" : true, \"fields\" : { \"raw\" : {\"type\": \"string\", \"index\" : \"not_analyzed\", \"ignore_above\" : 256} } } } } ], \"properties\" : { \"@version\": { \"type\": \"string\", \"index\": \"not_analyzed\" }, \"geoip\" : { \"type\" : \"object\", \"dynamic\": true, \"path\": \"full\", \"properties\" : { \"location\" : { \"type\" : \"geo_point\" } } } } } }}", :level=>:info, :file=>"logstash/outputs/elasticsearch.rb", :line=>"295"}
{:timestamp=>"2014-05-08T04:50:55.044000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.066462 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Started GET \"/dashboard\" for 10.10.0.2 at 2014-05-08 04:50:51 +0000", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.041Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"547704"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.078000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.066462 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Started GET \"/dashboard\" for 10.10.0.2 at 2014-05-08 04:50:51 +0000", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.080000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.085000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.087000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.068079 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Processing by CompaniesController#dashboard as HTML", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.050Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"547860"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.098000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.068079 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Processing by CompaniesController#dashboard as HTML", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.099000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.100000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.134000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.135000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.068079 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Processing by CompaniesController#dashboard as HTML", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.050Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"547860", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.141000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.142000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.068079 #2780] INFO -- : Processing by CompaniesController#dashboard as HTML", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.050Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"547860", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.144000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.145000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.074471 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_search_form.html.haml (3.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.067Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548000"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.149000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.074471 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_search_form.html.haml (3.5ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.150000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.152000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.154000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.155000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.074471 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_search_form.html.haml (3.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.067Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548000", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.159000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.164000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.074471 #2780] INFO -- : Rendered companies/_search_form.html.haml (3.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.067Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548000", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.166000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.168000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.075452 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.069Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548140"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.174000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.075452 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.5ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.175000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.181000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.182000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.183000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.075452 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.069Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548140", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.193000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.194000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.075452 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.5ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.069Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548140", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.206000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.207000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.076050 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.071Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548290"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.219000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.076050 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.220000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.232000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.238000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.239000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.076050 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.071Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548290", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.251000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.260000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.076050 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.071Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548290", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.263000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.264000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.076622 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.077Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548440"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.278000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.076622 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.280000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.289000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.290000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.292000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.076622 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.077Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548440", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.303000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.303000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.076622 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.077Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548440", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.309000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.311000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.077220 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.081Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548590"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.317000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.077220 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.318000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.319000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.320000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.336000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.077220 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.081Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548590", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.338000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.339000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.077220 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.081Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548590", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.349000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.350000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.082584 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_company_rows.html.haml (5.2ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.090Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548740"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.352000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.082584 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_company_rows.html.haml (5.2ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.357000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.357000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.358000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.365000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082584 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_company_rows.html.haml (5.2ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.090Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548740", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.367000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.368000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082584 #2780] INFO -- : Rendered companies/_company_rows.html.haml (5.2ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.090Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548740", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.369000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.370000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.082804 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_table.html.haml (8.1ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.092Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548881"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.372000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.082804 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_table.html.haml (8.1ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.373000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.374000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.375000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.376000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082804 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/_table.html.haml (8.1ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.092Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548881", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.379000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.380000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082804 #2780] INFO -- : Rendered companies/_table.html.haml (8.1ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.092Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"548881", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.385000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.386000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.082976 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.101Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549015"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.390000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.082976 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.391000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.392000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.397000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.398000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082976 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.101Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549015", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.399000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.400000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.082976 #2780] INFO -- : Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.101Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549015", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.410000+0000", :message=>"REGULAR", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"77"}
{:timestamp=>"2014-05-08T04:50:55.411000+0000", :message=>"filter received", :event=>{"message"=>"I, [2014-05-08T04:50:51.084068 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.103Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549180"}, :level=>:debug, :file=>"(eval)", :line=>"18"}
{:timestamp=>"2014-05-08T04:50:55.414000+0000", :message=>"LINE: I, [2014-05-08T04:50:51.084068 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"33"}
{:timestamp=>"2014-05-08T04:50:55.415000+0000", :message=>"UUID", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"36"}
{:timestamp=>"2014-05-08T04:50:55.416000+0000", :message=>"MERGE", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"49"}
{:timestamp=>"2014-05-08T04:50:55.421000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"50"}
{:timestamp=>"2014-05-08T04:50:55.422000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.084068 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.103Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549180", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"51"}
{:timestamp=>"2014-05-08T04:50:55.429000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"53"}
{:timestamp=>"2014-05-08T04:50:55.430000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.084068 #2780] INFO -- : Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.103Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549180", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"54"}
{:timestamp=>"2014-05-08T04:50:55.431000+0000", :message=>"COMPLETED", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"67"}
{:timestamp=>"2014-05-08T04:50:55.432000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"68"}
{:timestamp=>"2014-05-08T04:50:55.437000+0000", :level=>:warn, "message"=>"I, [2014-05-08T04:50:51.084068 #2780] INFO -- : Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", "@version"=>"1", "@timestamp"=>"2014-05-08T04:50:55.103Z", "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>"549180", "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"69"}
{:timestamp=>"2014-05-08T04:50:55.449000+0000", :message=>"[\"2014-05-08T04:50:55.041Z\", \"2014-05-08T04:50:55.050Z\", \"2014-05-08T04:50:55.067Z\", \"2014-05-08T04:50:55.069Z\", \"2014-05-08T04:50:55.071Z\", \"2014-05-08T04:50:55.077Z\", \"2014-05-08T04:50:55.081Z\", \"2014-05-08T04:50:55.090Z\", \"2014-05-08T04:50:55.092Z\", \"2014-05-08T04:50:55.101Z\", \"2014-05-08T04:50:55.103Z\"]", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"71"}
{:timestamp=>"2014-05-08T04:50:55.450000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"72"}
{:timestamp=>"2014-05-08T04:50:55.451000+0000", :level=>:warn, "message"=>["I, [2014-05-08T04:50:51.066462 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Started GET \"/dashboard\" for 10.10.0.2 at 2014-05-08 04:50:51 +0000", "I, [2014-05-08T04:50:51.068079 #2780] INFO -- : Processing by CompaniesController#dashboard as HTML", "I, [2014-05-08T04:50:51.074471 #2780] INFO -- : Rendered companies/_search_form.html.haml (3.5ms)", "I, [2014-05-08T04:50:51.075452 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.5ms)", "I, [2014-05-08T04:50:51.076050 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.076622 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.077220 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.082584 #2780] INFO -- : Rendered companies/_company_rows.html.haml (5.2ms)", "I, [2014-05-08T04:50:51.082804 #2780] INFO -- : Rendered companies/_table.html.haml (8.1ms)", "I, [2014-05-08T04:50:51.082976 #2780] INFO -- : Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", "I, [2014-05-08T04:50:51.084068 #2780] INFO -- : Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)"], "@version"=>"1", "@timestamp"=>["2014-05-08T04:50:55.041Z", "2014-05-08T04:50:55.050Z", "2014-05-08T04:50:55.067Z", "2014-05-08T04:50:55.069Z", "2014-05-08T04:50:55.071Z", "2014-05-08T04:50:55.077Z", "2014-05-08T04:50:55.081Z", "2014-05-08T04:50:55.090Z", "2014-05-08T04:50:55.092Z", "2014-05-08T04:50:55.101Z", "2014-05-08T04:50:55.103Z"], "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>["547704", "547860", "548000", "548140", "548290", "548440", "548590", "548740", "548881", "549015", "549180"], "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5", :file=>"logstash/filters/railsparallelrequest.rb", :line=>"73"}
{:timestamp=>"2014-05-08T04:50:55.473000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"75"}
{:timestamp=>"2014-05-08T04:50:55.474000+0000", :message=>"FULL EVENT", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"92"}
{:timestamp=>"2014-05-08T04:50:55.475000+0000", :message=>"I, [2014-05-08T04:50:51.084068 #2780] INFO -- : Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"94"}
{:timestamp=>"2014-05-08T04:50:55.476000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"95"}
{:timestamp=>"2014-05-08T04:50:55.496000+0000", :message=>"2014-05-08 04:50:55 UTC", :level=>:warn, :file=>"logstash/filters/railsparallelrequest.rb", :line=>"100"}
{:timestamp=>"2014-05-08T04:50:55.498000+0000", :message=>"output received", :event=>{"message"=>["I, [2014-05-08T04:50:51.066462 #2780] INFO -- : [b54c6baa-1a2a-465f-bf21-fb6ec65691e5] Started GET \"/dashboard\" for 10.10.0.2 at 2014-05-08 04:50:51 +0000", "I, [2014-05-08T04:50:51.068079 #2780] INFO -- : Processing by CompaniesController#dashboard as HTML", "I, [2014-05-08T04:50:51.074471 #2780] INFO -- : Rendered companies/_search_form.html.haml (3.5ms)", "I, [2014-05-08T04:50:51.075452 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.5ms)", "I, [2014-05-08T04:50:51.076050 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.076622 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.077220 #2780] INFO -- : Rendered companies/_sortable_column_title.html.haml (0.4ms)", "I, [2014-05-08T04:50:51.082584 #2780] INFO -- : Rendered companies/_company_rows.html.haml (5.2ms)", "I, [2014-05-08T04:50:51.082804 #2780] INFO -- : Rendered companies/_table.html.haml (8.1ms)", "I, [2014-05-08T04:50:51.082976 #2780] INFO -- : Rendered companies/dashboard.html.haml within layouts/application (12.3ms)", "I, [2014-05-08T04:50:51.084068 #2780] INFO -- : Completed 200 OK in 16ms (Views: 11.8ms | ActiveRecord: 2.6ms | Elasticsearch: 0.0ms)"], "@version"=>"1", "@timestamp"=>["2014-05-08T04:50:55.041Z", "2014-05-08T04:50:55.050Z", "2014-05-08T04:50:55.067Z", "2014-05-08T04:50:55.069Z", "2014-05-08T04:50:55.071Z", "2014-05-08T04:50:55.077Z", "2014-05-08T04:50:55.081Z", "2014-05-08T04:50:55.090Z", "2014-05-08T04:50:55.092Z", "2014-05-08T04:50:55.101Z", "2014-05-08T04:50:55.103Z"], "type"=>"rails_raw", "file"=>"/home/app/shared/log/production.log", "host"=>"crm0", "offset"=>["547704", "547860", "548000", "548140", "548290", "548440", "548590", "548740", "548881", "549015", "549180"], "tags"=>["railsparallelrequest"], "uuid"=>"b54c6baa-1a2a-465f-bf21-fb6ec65691e5"}, :level=>:debug, :file=>"(eval)", :line=>"57"}
# encoding: utf-8
# parallel request filter
#
# This filter will separate out the parallel requests into separate events.
#
require "logstash/filters/base"
require "logstash/namespace"
require "set"
class LogStash::Filters::Railsparallelrequest < LogStash::Filters::Base
config_name "railsparallelrequest"
milestone 1
public
def initialize(config = {})
super
@threadsafe = false
@pending = Hash.new
@recent_error = nil
end
def register; end
def filter(event)
return unless filter?(event)
event.tag("railsparallelrequest")
line = event["message"]
@logger.warn "LINE: #{event['message']}"
if line =~ /\[([a-f0-9-]*?)\]/
@logger.warn "UUID"
uuid = $1
event["uuid"] = uuid
# There was a recent error, but we've hit a line with a different UUID,
# so assume the error is done and send it off.
#if @recent_error && uuid != @recent_error['uuid']
#yield @recent_error
#@recent_error = nil
#end
if @pending[uuid]
@logger.warn "MERGE"
@logger.warn event["@timestamp"].to_s
@logger.warn event.to_hash
merge_events(@pending[uuid], event, uuid)
@logger.warn event["@timestamp"].to_s
@logger.warn event.to_hash
else
@pending[uuid] = event
end
if line =~ /Error /
# Request is an error. Don't send it off yet. Wait until we see a line
# with a different UUID.
@logger.warn "ERROR"
@recent_error = event
event.cancel
elsif line =~ /Completed /
# Request is complete. Send it off.
@logger.warn "COMPLETED"
@logger.warn event["@timestamp"].to_s
@logger.warn event.to_hash
event.overwrite(@pending[uuid])
@logger.warn event.to_hash["@timestamp"].to_s
@logger.warn event["@timestamp"].to_s
@logger.warn event.to_hash
@pending.delete(uuid)
@logger.warn event["@timestamp"].to_s
else
@logger.warn "REGULAR"
event.cancel
end
else
if @recent_error
# Current line is part of the recent error.
@recent_error.append(event)
event.cancel
else
# Current line is not associated with a request. Pass through
# untouched.
end
end
unless event.cancelled?
@logger.warn "FULL EVENT"
#event["message"] = event["message"].join("\n") if event["message"].is_a?(Array)
@logger.warn event["message"].to_s
@logger.warn event["@timestamp"].to_s
if event["@timestamp"].respond_to?(:each)
@logger.warn "TIMESTAMP COLLAPSE"
event["@timestamp"] = event["@timestamp"].first
end
@logger.warn event["@timestamp"].to_s
filter_matched(event)
end
end
def flush
events = @pending.values.each { |event| event.uncancel }
@pending.clear
events
end
private
def merge_events(dest, source, uuid)
source["message"].gsub!("[#{uuid}]", "")
dest.append(source)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment