fluent-plugin-airbrake-logger 0.0.2 → 0.0.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-airbrake-logger.gemspec +3 -3
- data/lib/fluent/plugin/out_airbrake_logger.rb +31 -13
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee581109b0421a8c7c8dddab9339e06cdcad63c1
|
4
|
+
data.tar.gz: ad07df2ebc76fd13c9a31fa3093172cd80955c07
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a6a57f04e6803245107251d9606a4da8329f6fb0c5700411d5182b227a4851dd6440a699ec508318035523f63285c3c8abeaf48f4be6cc3438a1d7699f1e967
|
7
|
+
data.tar.gz: f0f1f4c0b3200c7e4a491b1a6392c0ee45611d9625cb1ddd48641dcd94aab5a03f74d5834b676c86e11b1a24f2336c41bc58badb8f28da2b741096d18cdc9d5e
|
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "fluent-plugin-airbrake-logger"
|
7
|
-
spec.version = "0.0.
|
7
|
+
spec.version = "0.0.3"
|
8
8
|
spec.authors = ["Shuichi Ohsawa"]
|
9
9
|
spec.email = ["ohsawa0515@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary = %q{
|
12
|
-
spec.description = %q{
|
11
|
+
spec.summary = %q{Fluent output plugin to Airbrake(Errbit) by fluent-logger}
|
12
|
+
spec.description = %q{Fluent output plugin to Airbrake(Errbit) by fluent-logger}
|
13
13
|
spec.homepage = "https://github.com/ohsawa0515/fluent-plugin-airbrake-logger"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
class Fluent::
|
1
|
+
class Fluent::AirbrakeLoggerOutput < Fluent::Output
|
2
2
|
Fluent::Plugin.register_output('airbrake_logger', self)
|
3
3
|
|
4
|
-
|
4
|
+
LOG_LEVEL_MAP = {
|
5
5
|
'CRITICAL' => 50,
|
6
6
|
'FATAL' => 50,
|
7
7
|
'ERROR' => 40,
|
@@ -11,6 +11,8 @@ class Fluent::ErrbitGeesOutput < Fluent::Output
|
|
11
11
|
'DEBUG' => 10
|
12
12
|
}
|
13
13
|
|
14
|
+
CUT_OFF_CHAR = 60
|
15
|
+
|
14
16
|
config_param :api_key, :string, :default => nil
|
15
17
|
config_param :host, :string, :default => 'localhost'
|
16
18
|
config_param :port, :integer, :default => '80'
|
@@ -39,9 +41,17 @@ class Fluent::ErrbitGeesOutput < Fluent::Output
|
|
39
41
|
config_param :user_attributes, :string, :default => nil
|
40
42
|
config_param :framework, :string, :default => nil
|
41
43
|
config_param :project_id, :string, :default => nil
|
42
|
-
config_param :
|
44
|
+
config_param :log_level, :string, :default => 'DEBUG'
|
43
45
|
config_param :log_path, :string, :default => nil
|
44
46
|
|
47
|
+
# record parameters
|
48
|
+
config_param :log_level_record, :string, :default => 'severity'
|
49
|
+
config_param :error_class_record, :string, :default => 'error_class'
|
50
|
+
config_param :batcktrace_record, :string, :default => 'error_backtrace'
|
51
|
+
config_param :error_message_record, :string, :default => 'error_message'
|
52
|
+
config_param :component_record, :string, :default => 'component'
|
53
|
+
config_param :action_record, :string, :default => 'action'
|
54
|
+
|
45
55
|
def initialize
|
46
56
|
super
|
47
57
|
require 'airbrake'
|
@@ -78,22 +88,28 @@ class Fluent::ErrbitGeesOutput < Fluent::Output
|
|
78
88
|
end
|
79
89
|
|
80
90
|
@sender = Airbrake::Sender.new(@aconf)
|
81
|
-
@
|
91
|
+
@log_level = LOG_LEVEL_MAP[@log_level.upcase]
|
82
92
|
end
|
83
93
|
|
84
94
|
def notification_needed(_tag, _time, record)
|
85
|
-
severity_map =
|
95
|
+
severity_map = LOG_LEVEL_MAP[record[@log_level_record].upcase]
|
86
96
|
|
87
|
-
record[
|
97
|
+
record[@log_level_record] ? severity_map >= @log_level : false
|
88
98
|
end
|
89
99
|
|
90
100
|
def build_error_message(record)
|
91
|
-
error_message = record[
|
92
|
-
|
101
|
+
error_message = record[@error_message_record] ? cut_down_message(record[@error_message_record]) :
|
102
|
+
(record['message'] ? cut_down_message(record['message']) : 'Notification')
|
103
|
+
"[#{record[@log_level_record]}] #{record[@error_class_record]} #{error_message}"
|
104
|
+
end
|
105
|
+
|
106
|
+
def cut_down_message(message)
|
107
|
+
message_to_s = message.is_a?(Array) ? message.join : message
|
108
|
+
message_to_s[0, CUT_OFF_CHAR]
|
93
109
|
end
|
94
110
|
|
95
111
|
def build_error_backtrace(record)
|
96
|
-
|
112
|
+
record[@batcktrace_record] ? record[@batcktrace_record] : (record['backtrace'] ? record['backtrace'] : "")
|
97
113
|
end
|
98
114
|
|
99
115
|
def emit(tag, es, chain)
|
@@ -101,16 +117,18 @@ class Fluent::ErrbitGeesOutput < Fluent::Output
|
|
101
117
|
|
102
118
|
next unless notification_needed(tag, time, record)
|
103
119
|
|
104
|
-
other_record = record.reject {|k, _|
|
120
|
+
other_record = record.reject {|k, _|
|
121
|
+
%W(#{@log_level_record} #{@error_class_record} #{@batcktrace_record}
|
122
|
+
#{@error_message_record} #{@component_record} #{@action_record} backtrace message).include?(k) }
|
105
123
|
|
106
124
|
@notice = Airbrake::Notice.new(@aconf.merge(
|
107
125
|
:api_key => @api_key,
|
108
|
-
:error_class => record[
|
126
|
+
:error_class => record[@error_class_record],
|
109
127
|
:backtrace => build_error_backtrace(record),
|
110
128
|
:error_message => build_error_message(record),
|
111
129
|
:hostname => record['hostname'],
|
112
|
-
:component => record[
|
113
|
-
:action => record[
|
130
|
+
:component => record[@component_record],
|
131
|
+
:action => record[@action_record],
|
114
132
|
:cgi_data => other_record
|
115
133
|
))
|
116
134
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-airbrake-logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shuichi Ohsawa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,7 +80,7 @@ dependencies:
|
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 4.3.0
|
83
|
-
description:
|
83
|
+
description: Fluent output plugin to Airbrake(Errbit) by fluent-logger
|
84
84
|
email:
|
85
85
|
- ohsawa0515@gmail.com
|
86
86
|
executables: []
|
@@ -118,5 +118,5 @@ rubyforge_project:
|
|
118
118
|
rubygems_version: 2.0.14
|
119
119
|
signing_key:
|
120
120
|
specification_version: 4
|
121
|
-
summary:
|
121
|
+
summary: Fluent output plugin to Airbrake(Errbit) by fluent-logger
|
122
122
|
test_files: []
|