fluent-plugin-rewrite-tag-filter 0.0.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -22,8 +22,7 @@ user-agent, request-uri, regex-backreference and so on with regular expression.
22
22
 
23
23
  rewruterule<num:1-200> <attribute> <regex_pattern> <new_tag>
24
24
 
25
- # Option: Capitalize every matched regex backreference. (ex: $1, $2)
26
- # It has described on usage section below.
25
+ # Capitalize every matched regex backreference. (ex: $1, $2)
27
26
  capitalize_regex_backreference <yes/no(default)>
28
27
 
29
28
  === Usage
@@ -78,7 +77,7 @@ It's a sample to exclude some static file log before split tag by domain.
78
77
 
79
78
  === Debug
80
79
 
81
- Logging supported like below.
80
+ On starting td-agent, Logging supported like below.
82
81
 
83
82
  $ tailf /var/log/td-agent/td-agent.log
84
83
  2012-09-16 18:10:51 +0900: adding match pattern="td.apache.access" type="rewrite_tag_filter"
data/example.conf CHANGED
@@ -48,7 +48,7 @@
48
48
  <store>
49
49
  type rewrite_tag_filter
50
50
  rewriterule1 agent Googlebot/ site.GoogleMaps.agent_Googlebot
51
- rewriterule2 agent " iPhone .+Googlebot-Mobile/" site.GoogleMaps.agent_GooglebotSmartphoneMobile
51
+ rewriterule2 agent ^.* iPhone .+Googlebot-Mobile/.*$ site.GoogleMaps.agent_GooglebotSmartphone
52
52
  rewriterule3 agent Googlebot-Mobile/ site.GoogleMaps.agent_GooglebotMobile
53
53
  rewriterule4 agent bingbot site.GoogleMaps.agent_Bingbot
54
54
  rewriterule5 agent Baiduspider site.GoogleMaps.agent_Baiduspider
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "fluent-plugin-rewrite-tag-filter"
6
- s.version = "0.0.9"
6
+ s.version = "1.0.0"
7
7
  s.authors = ["Kentaro Yoshida"]
8
8
  s.email = ["y.ken.studio@gmail.com"]
9
9
  s.homepage = "https://github.com/y-ken/fluent-plugin-rewrite-tag-filter"
@@ -21,11 +21,11 @@ class Fluent::RewriteTagFilterOutput < Fluent::Output
21
21
  end
22
22
  (1..PATTERN_MAX_NUM).each do |i|
23
23
  next unless conf["rewriterule#{i}"]
24
- rewritekey,regexp,rewritetag = conf["rewriterule#{i}"].match(/^([^\s]+)\s+["\/]?(.+?)["\/]?\s+([^\s]+)$/).captures
25
- unless regexp != nil && rewritetag != nil
24
+ rewritekey,regexp,rewritetag = conf["rewriterule#{i}"].match(/^([^\s]+)\s+(.+?)\s+([^\s]+)$/).captures
25
+ if regexp.nil? || rewritetag.nil?
26
26
  raise Fluent::ConfigError, "missing values at rewriterule#{i} " + conf["rewriterule#{i}"].inspect
27
- end
28
- @rewriterules.push([i, rewritekey, Regexp.new(regexp), rewritetag])
27
+ end
28
+ @rewriterules.push([i, rewritekey, Regexp.new(trim_regex_quote(regexp)), rewritetag])
29
29
  rewriterule_names.push(rewritekey + regexp)
30
30
  $log.info "adding rewrite_tag_filter rule: #{@rewriterules.last}"
31
31
  end
@@ -59,6 +59,14 @@ class Fluent::RewriteTagFilterOutput < Fluent::Output
59
59
  chain.next
60
60
  end
61
61
 
62
+ def trim_regex_quote(regexp)
63
+ if regexp.start_with?('"') && regexp.end_with?('"')
64
+ $log.info "rewrite_tag_filter: [DEPRECATED] Use ^....$ pattern for partial word match instead of double-quote-delimiter. #{regexp}"
65
+ return regexp[1..-2]
66
+ end
67
+ return regexp
68
+ end
69
+
62
70
  def map_regex_table(elements)
63
71
  hash_table = Hash.new
64
72
  index = 1
@@ -8,18 +8,19 @@ class RewriteTagFilterOutputTest < Test::Unit::TestCase
8
8
  CONFIG = %[
9
9
  rewriterule1 domain ^www\.google\.com$ site.Google
10
10
  rewriterule2 domain ^news\.google\.com$ site.GoogleNews
11
- rewriterule3 agent Mac\sOS\sX agent.MacOSX
11
+ rewriterule3 agent .* Mac OS X .* agent.MacOSX
12
12
  rewriterule4 agent (Googlebot|CustomBot)-([a-zA-Z]+) agent.$1-$2
13
13
  ]
14
14
 
15
15
  # aggresive test
16
- # indentation, comment, capitalize_regex_backreference, regex with space aside, slash/quote delimited
16
+ # indentation, comment, capitalize_regex_backreference, regex with space aside.
17
+ # [DEPLICATED] Use ^....$ pattern for partial word match instead of double-quote-delimiter.
17
18
  CONFIG2 = %[
18
19
  capitalize_regex_backreference yes
19
- rewriterule1 domain "^www\.google\.com$" site.Google # some comment
20
- rewriterule2 domain /^(news)\.(google)\.com$/ site.$2$1
21
- rewriterule3 agent / Mac OS X / agent.MacOSX
22
- rewriterule4 agent /(Googlebot|CustomBot)-([a-zA-Z]+)/ agent.$1-$2
20
+ rewriterule1 domain ^www\.google\.com$ site.Google # some comment
21
+ rewriterule2 domain ^(news)\.(google)\.com$ site.$2$1
22
+ rewriterule3 agent ^.* Mac OS X .*$ agent.MacOSX
23
+ rewriterule4 agent "(Googlebot|CustomBot)-([a-zA-Z]+)" agent.$1-$2
23
24
  ]
24
25
 
25
26
  def create_driver(conf=CONFIG,tag='test')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-rewrite-tag-filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-16 00:00:00.000000000 Z
12
+ date: 2012-09-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
16
- requirement: &10180420 !ruby/object:Gem::Requirement
16
+ requirement: &11833100 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *10180420
24
+ version_requirements: *11833100
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fluentd
27
- requirement: &10179520 !ruby/object:Gem::Requirement
27
+ requirement: &11832240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *10179520
35
+ version_requirements: *11832240
36
36
  description:
37
37
  email:
38
38
  - y.ken.studio@gmail.com