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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8bb08c165c3eba39393003f51c783877243141f5fa13d4b6b744918040a3877
4
- data.tar.gz: b73ace7c66bda11e60daa9012d49565a2e04dbb37fdf2d0a619ce544a439bd8b
3
+ metadata.gz: 02717a0d9a1fce95e3f1328047ee5ac0f95b4247a841a19b2b1a63c317d0d459
4
+ data.tar.gz: 109355c4800b14ceb78e3d9ce958350cbd765ec97c0667c9867d46fa2284cf42
5
5
  SHA512:
6
- metadata.gz: b32075bd2d0baab63f739a9dd6d3ada943b8544e622d74911f89d413a547d8f8e554949a5b06b9840f7371a307ca0802ef133f8c490c602ea24484183d2b2324
7
- data.tar.gz: '087e035270078ea98ad94d53bb58eeedabb1058fa09520270866e3fea31013899e0947e986daaa2b51018f6a46d3b5c4fe2264a47354795819857edc11501317'
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.10"
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['message']
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
- def test_emit
68
- stub_request(:post, "https://app.getsentry.com/api/12345/envelope/").
69
- with(
70
- body: "{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"dsn\":\"https://user:password@app.getsentry.com/12345\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"},\"sent_at\":\"2021-09-01T12:00:23Z\"}\n{\"type\":\"event\",\"content_type\":\"application/json\"}\n{\"event_id\":\"2aa1f0210fc04c89a8febda09d3e4a5f\",\"level\":\"warning\",\"timestamp\":\"2021-09-01T12:00:23\",\"environment\":\"default\",\"server_name\":\"reisei-workspace\",\"modules\":{\"rake\":\"13.0.6\",\"bundler\":\"2.2.26\",\"cool.io\":\"1.7.1\",\"http_parser.rb\":\"0.7.0\",\"msgpack\":\"1.4.2\",\"sigdump\":\"0.2.4\",\"serverengine\":\"2.2.4\",\"strptime\":\"0.2.5\",\"concurrent-ruby\":\"1.1.9\",\"tzinfo\":\"2.0.4\",\"tzinfo-data\":\"1.2021.1\",\"webrick\":\"1.7.0\",\"yajl-ruby\":\"1.4.1\",\"fluentd\":\"1.14.0\",\"faraday-em_http\":\"1.0.0\",\"faraday-em_synchrony\":\"1.0.0\",\"faraday-excon\":\"1.1.0\",\"faraday-httpclient\":\"1.0.1\",\"faraday-net_http\":\"1.0.1\",\"faraday-net_http_persistent\":\"1.2.0\",\"faraday-patron\":\"1.0.0\",\"faraday-rack\":\"1.0.0\",\"multipart-post\":\"2.1.1\",\"ruby2_keywords\":\"0.0.5\",\"faraday\":\"1.7.0\",\"sentry-ruby-core\":\"4.6.5\",\"sentry-ruby\":\"4.6.5\",\"ach-fluent-plugin-sentry\":\"0.0.9\",\"public_suffix\":\"4.0.6\",\"addressable\":\"2.8.0\",\"thor\":\"1.1.0\",\"appraisal\":\"2.4.1\",\"rexml\":\"3.2.5\",\"crack\":\"0.4.5\",\"hashdiff\":\"1.0.1\",\"power_assert\":\"2.0.1\",\"test-unit\":\"3.4.4\",\"webmock\":\"3.14.0\"},\"message\":\"error has occoured.\",\"user\":{},\"tags\":{\"tag\":\"app1_error\"},\"contexts\":{},\"extra\":{},\"fingerprint\":[],\"platform\":\"ruby\",\"sdk\":{\"name\":\"sentry.ruby\",\"version\":\"4.6.5\"}}\n",
71
- headers: {
72
- 'Accept'=>'*/*',
73
- 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
74
- 'Content-Encoding'=>'',
75
- 'Content-Type'=>'application/x-sentry-envelope',
76
- 'User-Agent'=>'sentry-ruby/4.6.5',
77
- 'X-Sentry-Auth'=>'Sentry sentry_version=7, sentry_client=sentry-ruby/4.6.5, sentry_timestamp=1630497623, sentry_key=user, sentry_secret=password'}).to_return(status: 200, body: "", headers: {})
78
- #stub_post
79
- d1 = create_driver(CONFIG, 'input.app1_error')
80
- emit_level = 'warning'
81
- emit_message = 'error has occoured.'
82
- emit_extra = {'foo' => {'array' => [1,2,3]}, 'hash' => {'nest' => 'data'}}
83
- d1.run do
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
- #assert_equal 'application/octet-stream', @content_type
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ach-fluent-plugin-sentry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaro Yoshida