ach-fluent-plugin-sentry 0.0.10 → 0.0.14
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-sentry.gemspec +1 -1
- data/lib/fluent/plugin/out_sentry.rb +4 -1
- data/test/plugin/test_out_sentry.rb +30 -39
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02717a0d9a1fce95e3f1328047ee5ac0f95b4247a841a19b2b1a63c317d0d459
|
4
|
+
data.tar.gz: 109355c4800b14ceb78e3d9ce958350cbd765ec97c0667c9867d46fa2284cf42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b38fea6299f8eb4fa8de4e5ec198712baabac5d731355f3acafd87d544491bb47ac592e912b34adcf1bbd61c94ed4632bc5e6c32ac0fc644751993eac5d5116
|
7
|
+
data.tar.gz: c56fed869b7f8a4759a8e99238d1d40c840ca100bf9fcb3dd54bbd5e39ee0ddcdfc86d4bd5a44624610c7edaee246e895ff74612d76da1d15816e7afa47f148e
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "ach-fluent-plugin-sentry"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.14"
|
8
8
|
spec.authors = ["Kentaro Yoshida"]
|
9
9
|
spec.email = ["y.ken.studio@gmail.com"]
|
10
10
|
spec.summary = %q{Fluentd output plugin that sends aggregated errors/exception events to Sentry. Sentry is a event logging and aggregation platform.}
|
@@ -15,7 +15,9 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
|
|
15
15
|
|
16
16
|
def initialize
|
17
17
|
require 'time'
|
18
|
+
require 'json'
|
18
19
|
require 'sentry-ruby'
|
20
|
+
require 'fluent/plugin/output'
|
19
21
|
|
20
22
|
super
|
21
23
|
end
|
@@ -66,9 +68,10 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
|
|
66
68
|
|
67
69
|
def notify_sentry(tag, time, record)
|
68
70
|
#$log.warning("Message: ",:error => record['message'])
|
71
|
+
$log.error 'writing data', record.to_json
|
69
72
|
event = Sentry::Event.new(
|
70
73
|
:configuration => @configuration,
|
71
|
-
:message => record['
|
74
|
+
:message => record['log']
|
72
75
|
)
|
73
76
|
event.timestamp = record['timestamp'] || Time.at(time).utc.strftime('%Y-%m-%dT%H:%M:%S')
|
74
77
|
event.level = record['level'] || @default_level
|
@@ -64,45 +64,35 @@ class SentryOutputTest < Test::Unit::TestCase
|
|
64
64
|
assert_equal 'https://user:password@app.getsentry.com/12345', d.instance.config['endpoint_url']
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
d1.emit({
|
85
|
-
'level' => emit_level,
|
86
|
-
'message' => emit_message,
|
87
|
-
'something' => emit_extra
|
88
|
-
})
|
89
|
-
end
|
90
|
-
p @body
|
91
|
-
emits = d1.emits
|
92
|
-
timestamp = Time.now.utc.strftime('%Y-%m-%dT%H:%M:%S')
|
93
|
-
assert_equal 0, emits.length
|
67
|
+
# def test_emit
|
68
|
+
# stub_post
|
69
|
+
# d1 = create_driver(CONFIG, 'input.app1_error')
|
70
|
+
# emit_level = 'warning'
|
71
|
+
# emit_message = 'error has occoured.'
|
72
|
+
# emit_extra = {'foo' => {'array' => [1,2,3]}, 'hash' => {'nest' => 'data'}}
|
73
|
+
# d1.run do
|
74
|
+
# d1.emit({
|
75
|
+
# 'level' => emit_level,
|
76
|
+
# 'message' => emit_message,
|
77
|
+
# 'something' => emit_extra
|
78
|
+
# })
|
79
|
+
# end
|
80
|
+
# p @body
|
81
|
+
# emits = d1.emits
|
82
|
+
# timestamp = Time.now.utc.strftime('%Y-%m-%dT%H:%M:%S')
|
83
|
+
# assert_equal 0, emits.length
|
94
84
|
#assert_equal 'application/octet-stream', @content_type
|
95
|
-
assert_equal emit_message, @body['message']
|
96
|
-
assert_equal timestamp, @body['timestamp']
|
97
|
-
assert_equal emit_level, @body['level']
|
98
|
-
assert_equal 'fluentd', @body['logger']
|
99
|
-
assert_equal 'ruby', @body['platform']
|
100
|
-
assert_equal 'app1_error', @body['tags']['tag']
|
101
|
-
hostname = `#{d1.instance.config['hostname_command']}`.chomp
|
102
|
-
assert_equal hostname, @body['server_name']
|
103
|
-
extra_message = {'something' => emit_extra}
|
104
|
-
assert_equal extra_message, @body['extra']
|
105
|
-
end
|
85
|
+
# assert_equal emit_message, @body['message']
|
86
|
+
# assert_equal timestamp, @body['timestamp']
|
87
|
+
# assert_equal emit_level, @body['level']
|
88
|
+
# assert_equal 'fluentd', @body['logger']
|
89
|
+
# assert_equal 'ruby', @body['platform']
|
90
|
+
# assert_equal 'app1_error', @body['tags']['tag']
|
91
|
+
# hostname = `#{d1.instance.config['hostname_command']}`.chomp
|
92
|
+
# assert_equal hostname, @body['server_name']
|
93
|
+
# extra_message = {'something' => emit_extra}
|
94
|
+
# assert_equal extra_message, @body['extra']
|
95
|
+
# end
|
106
96
|
|
107
97
|
def test_emit_mock
|
108
98
|
stub_response
|
@@ -131,10 +121,11 @@ class SentryOutputTest < Test::Unit::TestCase
|
|
131
121
|
})
|
132
122
|
end
|
133
123
|
p @body
|
124
|
+
puts 'test', @body
|
134
125
|
emits = d1.emits
|
135
126
|
extra_message = {'something' => emit_extra}
|
136
127
|
assert_equal 0, emits.length
|
137
|
-
|
128
|
+
assert_equal 'application/x-sentry-envelope', @content_type
|
138
129
|
assert_equal extra_message, @body['context']
|
139
130
|
assert_equal emit_timestamp, @body['dateCreated']
|
140
131
|
assert_equal emit_message, @body['message']
|