ach-fluent-plugin-sentry 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7ba4c2b6fbc1e0279ac06155e6d415e10351d857e03bc2dd501fa1d978e273b3
4
- data.tar.gz: 1891e597990f271b144f443fa19e2574e4f80ac83861ea2776d31cc1c8cf54b0
3
+ metadata.gz: d11309811e7cccf0b4fb45330d9ff6d3bcd804ebfb6ec51249f3c2c8fac7dc43
4
+ data.tar.gz: 686f447c43253200c43962d2f9a1aa551232178c8e4e014c7415b1fac9201bf4
5
5
  SHA512:
6
- metadata.gz: c3137ede8a51a2de2cfe9e8bbaaba3a894a9c686a7b45c0861da6ad60174bfb9bfc7a2392664f05b9d88e8dddb5f45f3e3e7c4b79603f27904f043a1c99910c0
7
- data.tar.gz: 3f3aac31f167e1e4b23c25a7233a032d1dcd5183bb731e0be03a3e60d3591b7b7befc7cc3c9931fb9bd9974061bfa81d071d7a3d8cd77f6cde748a7c8e0a98b0
6
+ metadata.gz: 65d08153aea4aadb0b003910549ba62efe407126c23c492fade155534550f6d45da8e225be112b3b30bb6eadb62555e0b90cbc5678f53a095ab7a96226473e9c
7
+ data.tar.gz: 0d78501d55d49d889ad31fafbff0fd54a40531a7ac1d43002bd495a070df4239ba3056be8c6da537c454c48f1853fa7c5315606b5cdd7662d108b8513136f1ba
@@ -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.16"
7
+ spec.version = "0.0.17"
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.}
@@ -6,8 +6,10 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
6
6
  LOG_LEVEL = %w(fatal error warning info debug)
7
7
  EVENT_KEYS = %w(message timestamp time_spent level logger culprit server_name release tags)
8
8
  DEFAULT_HOSTNAME_COMMAND = 'hostname'
9
+ DEFAULT_ENVIRONMENT = 'default'
9
10
 
10
11
  config_param :default_level, :string, :default => 'error'
12
+ config_param :default_environment, :string, :default => 'default'
11
13
  config_param :default_logger, :string, :default => 'fluentd'
12
14
  config_param :endpoint_url, :string
13
15
  config_param :flush_interval, :time, :default => 0
@@ -35,6 +37,7 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
35
37
 
36
38
  hostname_command = @hostname_command || DEFAULT_HOSTNAME_COMMAND
37
39
  @hostname = `#{hostname_command}`.chomp
40
+ @default_environment = DEFAULT_ENVIRONMENT
38
41
 
39
42
  @configuration = Sentry::Configuration.new
40
43
  @configuration.send_modules = false
@@ -59,7 +62,7 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
59
62
  def write(chunk)
60
63
  chunk.msgpack_each do |tag, time, record|
61
64
  begin
62
- if record['level'] == 'error'
65
+ if record.key?('level') and record['level'] == 'error'
63
66
  notify_sentry(tag, time, record)
64
67
  end
65
68
  rescue => e
@@ -69,22 +72,15 @@ class Fluent::SentryOutput < Fluent::BufferedOutput
69
72
  end
70
73
 
71
74
  def notify_sentry(tag, time, record)
72
- #$log.warning("Message: ",:error => record['message'])
73
- $log.error 'writing data', record.to_json
74
75
  event = Sentry::Event.new(
75
76
  :configuration => @configuration,
76
77
  :message => record['message']
77
78
  )
78
79
  event.timestamp = record['timestamp'] || Time.at(time).utc.strftime('%Y-%m-%dT%H:%M:%S')
79
80
  event.level = record['level'] || @default_level
80
- event.environment = record['clustername'] || 'my-test-environment'
81
-
82
- #event.logger = record['logger'] || @default_logger
83
- #event.culprit = record['culprit'] || nil
84
- #event.server_name = record['server_name'] || @hostname
85
- #event.release = record['release'] if record['release']
81
+ event.environment = record['clustername'] || @default_environment
86
82
  event.tags = event.tags.merge({ :tag => tag }.merge(record['kubernetes'] || {}))
87
- #event.extra = record.reject{ |key| EVENT_KEYS.include?(key) }
83
+ event.contexts = event.contexts.merge(record['fields'])
88
84
  @client.send_event(event)
89
85
  end
90
86
  end
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.16
4
+ version: 0.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaro Yoshida