fluent-plugin-kvp-filter 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b76c39c7009d841d6a82c0391080c7f70d1bbfd
4
- data.tar.gz: 179eb3364b8e6e9c066dfb6338d7f7fcd7ff850a
3
+ metadata.gz: ee0c4ecd171c5a6a84a174c6c3c986c466b4d67b
4
+ data.tar.gz: 1efc793df622f2cbbd0738da52a43546e2b842c1
5
5
  SHA512:
6
- metadata.gz: 429df975faf7af7521634fd9ad6c4ef667c5075b31617de1df8c5598a924146f2a9c6c46b9aecc275ddf13e0783f9d2dea3e57bb69dfa1177f42bc8029acef36
7
- data.tar.gz: 49885293083ece34914496c1b62770dc9c97045abc79fed75660b2c4c425d7d93d4e2013976a3632b6cbd9d61aaebf941534fd4eaaa7c2664220fb507c7e14a3
6
+ metadata.gz: fed10c0a58c87e1ba103fbe6f48baed6fba86e6a684fc134b88f927665986fca30eff8ad914ffe7acb2d63c17dd90194afbae89a0eacb962a2a45a27fb0870db
7
+ data.tar.gz: 303aa8b85d78a0f724025bd4de604a5a025086468379194b1d22f9e4388ed3d33b3b4bb5f93f2265c0c02f8564641efa5ddffb658b1856cf9760ae754de82122
@@ -5,13 +5,19 @@ rvm:
5
5
  deploy:
6
6
  provider: script
7
7
  script: .travis/deploy.sh
8
- # provider: rubygems
9
- # api_key:
10
- # secure: Nl+oGHjLKpqh6xizIS6KKD4NofFDx5nvCI1psCXg5KCBl1cZQ6mZwMeqJYonrW3NgCpDHgTG0uImiRg6bAmzE4KC5zja6aDZ3jFzWjOa84vnnvwkzRKxbVwuN+Au5+wUGZQUS6T8WROA+AHO/WNYmfHEOvP9qcb56AGzIM7qFL88hoTDGnnOUOs6WEIc5TLmAu6h+/YccEwWrYw+6DYJ9zgZpl7HeOZsMO9vLrq8ud/s3dub1syTlMx9xZ4cqNEvTpMIPNWGx1W35EDbXMcWLbE6KLPxdlfHwk9rY6Kv9qHMH0FROvuiW9uSf/OQiIrOb1+ym+TOWO5sKAGsbgWOdp7rakQ1n6dP1nt3qJJW67Omldv518u+2t2uIyK8I6N4A4+Uk8jMZOUOBdyA6chpa/0btUM0KqG9qeUYS/Z4P0KSo1nabVaLgrAeUbdhTUo+jl2bU0kXmOtnMxrJ3N1f6iTt3aDKjJvV7tC1qbGtsk0IMq9wGTccCbBiBMQnnHguQ/MXEmvSA6l93e9sr8RjWUuJF70xr3n4OYgnfcvekhNKoznukMI7XascM2iQYw6hlKE7sD3b9tyfbdlM45Ak2XaIjzqQlM4296K2/0Q4lzwM2ijqeN2UhNUJAol9/o5xNwxwd/kmPgvqRkD5CCdtRlfQfAPFp8X00rkSEjpTcuk=
11
- # gemspec: fluent-plugin-kvp-filter.gemspec
12
8
  on:
13
9
  tags: true
14
10
  repo: matt-deboer/fluent-plugin-kvp-filter
11
+
12
+ # deploy:
13
+ # provider: rubygems
14
+ # api_key:
15
+ # secure: Nl+oGHjLKpqh6xizIS6KKD4NofFDx5nvCI1psCXg5KCBl1cZQ6mZwMeqJYonrW3NgCpDHgTG0uImiRg6bAmzE4KC5zja6aDZ3jFzWjOa84vnnvwkzRKxbVwuN+Au5+wUGZQUS6T8WROA+AHO/WNYmfHEOvP9qcb56AGzIM7qFL88hoTDGnnOUOs6WEIc5TLmAu6h+/YccEwWrYw+6DYJ9zgZpl7HeOZsMO9vLrq8ud/s3dub1syTlMx9xZ4cqNEvTpMIPNWGx1W35EDbXMcWLbE6KLPxdlfHwk9rY6Kv9qHMH0FROvuiW9uSf/OQiIrOb1+ym+TOWO5sKAGsbgWOdp7rakQ1n6dP1nt3qJJW67Omldv518u+2t2uIyK8I6N4A4+Uk8jMZOUOBdyA6chpa/0btUM0KqG9qeUYS/Z4P0KSo1nabVaLgrAeUbdhTUo+jl2bU0kXmOtnMxrJ3N1f6iTt3aDKjJvV7tC1qbGtsk0IMq9wGTccCbBiBMQnnHguQ/MXEmvSA6l93e9sr8RjWUuJF70xr3n4OYgnfcvekhNKoznukMI7XascM2iQYw6hlKE7sD3b9tyfbdlM45Ak2XaIjzqQlM4296K2/0Q4lzwM2ijqeN2UhNUJAol9/o5xNwxwd/kmPgvqRkD5CCdtRlfQfAPFp8X00rkSEjpTcuk=
16
+ # gemspec: fluent-plugin-kvp-filter.gemspec
17
+ # on:
18
+ # tags: true
19
+ # repo: matt-deboer/fluent-plugin-kvp-filter
20
+
15
21
  env:
16
22
  global:
17
23
  - secure: bDv6wW3RpvXJJlEkMXPpqRBdmU9lOhXMf+x9znF2jXu7BEJQAb8ZsVJCJCbz2iTGan5/GdThhW3kKDjZz8bGlQP6J8j3lJmeQyGp1CW3DQBvHnoYruoqFdeycfgrf1E32ce97yQtw9/GNkb8dLAl309M+gUwk6UPZNgC62qohzXhSDU1eAuPZ5ad/uZ3uYtfgTY7IWpTycMP0dSm8kVr9lJADshRCP2iKf7op/5r9EiL/VU/XhXMT+2FqhD9t/YfdQsJlXo4JWvSoStPWO+YC6+rZ+vO6ovWMMxD6HYBPZUZqF4/KQXtggduHjQs9ogidG6rkEvBGKg/EfqnmeAHw/auEr38H0PGDwkuT8go332w2TwxLWdonpdYdJ77xG8Z4Sq+pQNCQX0papHgg4vGuWUjcRFIPufUBcTTwUnbRj4Dum92Q1NkBy4bgF/ZE4W1tEmjWZxxXhz790q05tWQv7Ng4mbCsnboV0K0JmBDl8tNZ7OAzQFadmorBea/dLQQbQbB383vPpbSAEABXyIlIpzoZmWAqvjWTngyTGuOIFW1lNG9G0rf+XDkus1+j6sZZQ5c3BZOm/C2fmaf4rPbe3qAiSUM2zpantiCsdn4zzS7LznWYADIgPZ2BJ/6bwtQYH45VhR+R6aG87oxTNO7wm6Iw1pSePZnPKGyWF0NEuM=
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # fluent-plugin-kvp-filter [![Build Status](https://travis-ci.org/matt-deboer/fluent-plugin-kvp-filter.png)](https://travis-ci.org/matt-deboer/fluent-plugin-kvp-filter)
1
+ # fluent-plugin-kvp-filter [![Build Status](https://travis-ci.org/matt-deboer/fluent-plugin-kvp-filter.png)](https://travis-ci.org/matt-deboer/fluent-plugin-kvp-filter) [![Gem Version](https://badge.fury.io/rb/fluent-plugin-kvp-filter.svg)](https://badge.fury.io/rb/fluent-plugin-kvp-filter)
2
2
 
3
3
  Fluent filter plugin for parsing key/value fields in records
4
4
  based on <key>=<value> pattern.
@@ -62,6 +62,20 @@ For configuration
62
62
 
63
63
  it will remove the key "log_message" after parsing/extracting key/value pairs from it.
64
64
 
65
+ ### Parameter unmatched_key
66
+
67
+ For configuration
68
+
69
+ <filter pattern>
70
+ type fields_parser
71
+
72
+ parse_key log_message
73
+ unmatched_key _unmatched
74
+ </filter>
75
+
76
+ if any portion of "log_message" is not matched, it will be added to the record under "_unmatched"
77
+
78
+
65
79
  ### Parameter fields_key
66
80
 
67
81
  Configuration
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.description = "Fluent filter plugin for parsing key/value fields in records"
7
7
  gem.homepage = "https://github.com/matt-deboer/fluent-plugin-kvp-filter"
8
8
  gem.summary = gem.description
9
- gem.version = %x[git describe --tags --always]
9
+ gem.version = %x[git describe --tags --always | sed 's/-[0-9]-.*/.pre/']
10
10
  gem.authors = ["Matt DeBoer"]
11
11
  gem.email = ["matt.deboer@gmail.com"]
12
12
  gem.has_rdoc = false
@@ -11,8 +11,9 @@ module Fluent::Plugin
11
11
  config_param :fields_key, :string, :default => nil
12
12
  config_param :pattern, :string,
13
13
  :default => %{([a-zA-Z_]\\w*)=((['"]).*?(\\3)|[\\w.@$%/+-]*)}
14
- config_param :strict_key_value, :bool, :default => false
15
- config_param :remove_parse_key, :bool, :default => false
14
+ config_param :strict_key_value, :bool, :default => false
15
+ config_param :remove_parse_key, :bool, :default => false
16
+ config_param :unmatched_key, :string, :default => nil
16
17
 
17
18
  def configure(conf)
18
19
  super
@@ -31,6 +32,7 @@ module Fluent::Plugin
31
32
  parsed = Logfmt.parse(source)
32
33
  target.merge!(parsed)
33
34
  else
35
+ unmatched = source
34
36
  source.scan(compiled_pattern) do |match|
35
37
  (key, value, begining_quote, ending_quote) = match
36
38
  next if key.nil?
@@ -39,6 +41,15 @@ module Fluent::Plugin
39
41
  from_pos = begining_quote.to_s.length
40
42
  to_pos = value.length - ending_quote.to_s.length - 1
41
43
  target[key] = value[from_pos..to_pos]
44
+ unless unmatched_key.nil?
45
+ unmatched = unmatched.gsub("#{key}=#{value}", "")
46
+ end
47
+ end
48
+ unless unmatched_key.nil?
49
+ unmatched = unmatched.strip
50
+ unless unmatched.empty?
51
+ target[unmatched_key] = unmatched
52
+ end
42
53
  end
43
54
  end
44
55
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kvp-filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt DeBoer