ach-fluent-plugin-sentry 0.0.11 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- 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 +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00bd18e368a3c0411e1e72f2c33a58b6b9b110fd4f2b689782662b475bed7076
|
4
|
+
data.tar.gz: 889327e3466c35bf42db6755168bc56044fee2e1773f9c2e6e83c819661d84fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b495c0978d7d54ffdb683c341355d8b87b138d76bdf3519f397fd6bdc446c9c95d3d99f8df62b48f815ccefc57e66c10820b647cb686b11c43637cae46caa655
|
7
|
+
data.tar.gz: 3d9d228f796e53a747f7bec42f9cb035474f8d593bac4b01fc89ff63f70955358d2887aaa67bd7bd5c7d8cd67cffba118b629b0a013e87aa72ce1100e75423ce
|
@@ -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.15"
|
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['message']
|
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']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ach-fluent-plugin-sentry
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kentaro Yoshida
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-09-
|
11
|
+
date: 2021-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|