fluent-plugin-gelf-best 1.3.2 → 1.3.3
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.
- 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
|