fluent-plugin-gelf-best 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fluent-plugin-gelf-best.gemspec +0 -1
- data/lib/fluent/plugin/gelf_plugin_util.rb +38 -26
- data/lib/fluent-plugin-gelf-best/version.rb +1 -1
- metadata +1 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc3a134e34dfdc0c22a93f90ca53b655bbb9133f787726adb478ffdb6b74bba3
|
4
|
+
data.tar.gz: f65ca691ac9b2e7046878b1b8b6315a21c6a3d575408ece21aff885c0f3c3add
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2adf1721b08d85f7a191d7121eb0a0190aee674f70159c828a475a4f717a90594307e116b1a88212d0095c9b546d48134c596e7fb186f6dba9cc0476905e616
|
7
|
+
data.tar.gz: 7bca600938707cda06ce79d798d11dd3dd3756ee7a0a3016b2770aa9a63d1133f0a7bcb745d8e14699d6503099cced2d6ff2a63b008731e8aa8a4fc3b6a652a4
|
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_runtime_dependency "fluentd", ">=1.0.0"
|
21
21
|
spec.add_runtime_dependency "gelf", ">= 2.0.0"
|
22
|
-
spec.add_development_dependency "oj", "~> 3.3.10"
|
23
22
|
spec.add_development_dependency "test-unit"
|
24
23
|
spec.add_development_dependency "rake"
|
25
24
|
end
|
@@ -1,26 +1,24 @@
|
|
1
|
-
require 'oj'
|
2
|
-
require 'date'
|
3
|
-
require 'gelf'
|
4
|
-
|
5
1
|
module Fluent
|
6
2
|
module GelfPluginUtil
|
3
|
+
require "gelf"
|
4
|
+
require "date"
|
7
5
|
|
8
6
|
LEVEL_MAP = {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
7
|
+
"0" => GELF::UNKNOWN, "1" => GELF::UNKNOWN, "a" => GELF::UNKNOWN,
|
8
|
+
"2" => GELF::FATAL, "c" => GELF::FATAL,
|
9
|
+
"3" => GELF::ERROR,
|
10
|
+
"4" => GELF::WARN, "w" => GELF::WARN,
|
11
|
+
"5" => GELF::INFO, "n" => GELF::INFO,
|
12
|
+
"6" => GELF::INFO, "i" => GELF::INFO,
|
13
|
+
"7" => GELF::DEBUG, "d" => GELF::DEBUG,
|
14
|
+
"e" => GELF::ERROR # assuming 'e' stands typically for 'error'
|
17
15
|
}.freeze
|
18
16
|
|
19
17
|
def make_gelfentry(tag, time, record, conf = {})
|
20
|
-
gelfentry = {
|
18
|
+
gelfentry = {'_fluentd_tag' => tag, 'timestamp' => calculate_timestamp(time)}
|
21
19
|
|
22
|
-
record.
|
23
|
-
process_record_entry(k, v, conf, gelfentry)
|
20
|
+
record.each_pair do |k, v|
|
21
|
+
gelfentry.merge!(process_record_entry(k, v, conf, gelfentry))
|
24
22
|
end
|
25
23
|
|
26
24
|
ensure_short_message(gelfentry)
|
@@ -40,29 +38,43 @@ module Fluent
|
|
40
38
|
def process_record_entry(k, v, conf, gelfentry)
|
41
39
|
case k
|
42
40
|
when 'host', 'hostname'
|
43
|
-
|
41
|
+
return {'host' => (conf[:use_record_host] ? v : gelfentry['_host'] = v)}
|
44
42
|
when 'timestamp', 'time'
|
45
|
-
|
43
|
+
{ 'timestamp' => parse_timestamp(v) }
|
46
44
|
when 'level'
|
47
|
-
|
45
|
+
{'level' => LEVEL_MAP[v.to_s.downcase[0]] || (v.to_s.length >= 2 && v.to_s.downcase[1] != "r" ? GELF::UNKNOWN : v)}
|
48
46
|
when 'msec'
|
49
|
-
|
47
|
+
conf[:add_msec_time] ? {'timestamp' => "#{time.to_s}.#{v}".to_f} : {'_msec' => v}
|
50
48
|
when 'short_message', 'version', 'full_message', 'facility', 'file', 'line'
|
51
|
-
|
49
|
+
{k => v}
|
52
50
|
else
|
53
|
-
|
51
|
+
{k.start_with?('_') ? k : "_#{k}" => v}
|
54
52
|
end
|
55
53
|
end
|
56
54
|
|
57
55
|
def parse_timestamp(v)
|
58
|
-
|
59
|
-
|
60
|
-
|
56
|
+
if v.is_a?(Integer) || v.is_a?(Float)
|
57
|
+
v
|
58
|
+
else
|
59
|
+
begin
|
60
|
+
(DateTime.parse(v).strftime("%Q").to_f / 1_000).round(3)
|
61
|
+
rescue ArgumentError
|
62
|
+
v
|
63
|
+
end
|
64
|
+
end
|
61
65
|
end
|
62
66
|
|
63
67
|
def ensure_short_message(gelfentry)
|
64
|
-
|
65
|
-
|
68
|
+
return if gelfentry['short_message'] && !gelfentry['short_message'].to_s.strip.empty?
|
69
|
+
|
70
|
+
['_message', '_msg', '_log', '_record'].each do |key|
|
71
|
+
if gelfentry[key] && !gelfentry[key].to_s.strip.empty?
|
72
|
+
gelfentry['short_message'] = gelfentry.delete(key)
|
73
|
+
return
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
gelfentry['short_message'] = '(no message)' unless gelfentry['short_message']
|
66
78
|
end
|
67
79
|
end
|
68
80
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-gelf-best
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Yamauchi
|
@@ -40,20 +40,6 @@ dependencies:
|
|
40
40
|
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 2.0.0
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: oj
|
45
|
-
requirement: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 3.3.10
|
50
|
-
type: :development
|
51
|
-
prerelease: false
|
52
|
-
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
requirements:
|
54
|
-
- - "~>"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 3.3.10
|
57
43
|
- !ruby/object:Gem::Dependency
|
58
44
|
name: test-unit
|
59
45
|
requirement: !ruby/object:Gem::Requirement
|