gray_logger 0.9.3 → 0.9.4
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.
- data/lib/gray_logger.rb +3 -2
- data/lib/gray_logger/middleware.rb +9 -2
- data/lib/gray_logger/rails_modules.rb +24 -0
- data/lib/gray_logger/railtie.rb +1 -1
- metadata +4 -3
data/lib/gray_logger.rb
CHANGED
@@ -8,6 +8,7 @@ require 'gray_logger/middleware'
|
|
8
8
|
require 'gray_logger/helper_methods'
|
9
9
|
|
10
10
|
|
11
|
-
if defined?(Rails)
|
12
|
-
require 'gray_logger/
|
11
|
+
if defined?(Rails)
|
12
|
+
require 'gray_logger/rails_modules'
|
13
|
+
require 'gray_logger/railtie' if defined?(Rails::Railtie)
|
13
14
|
end
|
@@ -22,11 +22,18 @@ module GrayLogger
|
|
22
22
|
message_store = env["rack.gray_logger.message_store"] = GrayLogger::MessageStore.new(:level => GELF::INFO)
|
23
23
|
status, headers, body = @app.call(env)
|
24
24
|
rescue => e
|
25
|
-
message_store.
|
26
|
-
|
25
|
+
message_store.short_message = "Error: #{e.inspect}"
|
26
|
+
message_store.exception_backtrace = e.backtrace.join("\n")
|
27
|
+
raise
|
27
28
|
ensure
|
29
|
+
error = env['rack.exception']
|
30
|
+
if error
|
31
|
+
message_store.short_message = "Error: #{error.inspect}"
|
32
|
+
message_store.exception_backtrace = error.backtrace.join("\n")
|
33
|
+
end
|
28
34
|
message_store.status_code = status.to_i
|
29
35
|
gray_logger.notify!(message_store.to_message) unless gray_logger.nil?
|
36
|
+
[status, headers, body]
|
30
37
|
end
|
31
38
|
|
32
39
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module GrayLogger
|
2
|
+
module RailsModules
|
3
|
+
module ActionControllerCatcher
|
4
|
+
|
5
|
+
# Sets up an alias chain to catch exceptions when Rails does
|
6
|
+
def self.included(base) #:nodoc:
|
7
|
+
base.send(:alias_method, :rescue_action_without_gray_logger, :rescue_action)
|
8
|
+
base.send(:alias_method, :rescue_action, :rescue_action_with_gray_logger)
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
# Overrides the rescue_action method in ActionController::Base, but does not inhibit
|
14
|
+
# any custom processing that is defined with Rails 2's exception helpers.
|
15
|
+
def rescue_action_with_gray_logger(exception)
|
16
|
+
gray_logger.exception_backtrace = exception.backtrace.join("\n")
|
17
|
+
gray_logger.short_message = "Error: #{exception.inspect}"
|
18
|
+
rescue_action_without_gray_logger(exception)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
ActionController::Base.send(:include, GrayLogger::RailsModules::ActionControllerCatcher)
|
data/lib/gray_logger/railtie.rb
CHANGED
@@ -5,7 +5,7 @@ module GrayLogger
|
|
5
5
|
begin
|
6
6
|
initializer "gray_logger.configure_rails_initialization" do |app|
|
7
7
|
configuration = YAML.load(File.read(Rails.root.join('config/gray_logger.yml')))[Rails.env]
|
8
|
-
app.middleware.insert_after "
|
8
|
+
app.middleware.insert_after "ActionDispatch::ShowExceptions", "GrayLogger::Middleware", :configuration => configuration
|
9
9
|
end
|
10
10
|
rescue => e
|
11
11
|
$stderr.puts("GrayLogger not configured. Please add config/gray_logger.yml")
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gray_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 4
|
10
|
+
version: 0.9.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Benjamin Behr
|
@@ -44,6 +44,7 @@ files:
|
|
44
44
|
- lib/gray_logger/message.rb
|
45
45
|
- lib/gray_logger/message_store.rb
|
46
46
|
- lib/gray_logger/middleware.rb
|
47
|
+
- lib/gray_logger/rails_modules.rb
|
47
48
|
- lib/gray_logger/railtie.rb
|
48
49
|
- lib/gray_logger/support.rb
|
49
50
|
- lib/gray_logger.rb
|