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

Sign up to get free protection for your applications and to get access to all the features.
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