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
|
-
#
|
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
|
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
|
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+
|
25
|
-
|
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
|
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
|
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
|
20
|
-
rewriterule2 domain
|
21
|
-
rewriterule3 agent
|
22
|
-
rewriterule4 agent
|
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
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *11833100
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: fluentd
|
27
|
-
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: *
|
35
|
+
version_requirements: *11832240
|
36
36
|
description:
|
37
37
|
email:
|
38
38
|
- y.ken.studio@gmail.com
|