class Exceptionally::Handler
Public Class Methods
before_render(&block)
click to toggle source
# File lib/exceptionally/handler.rb, line 19 def self.before_render(&block) @@callback = Proc.new(&block) end
new(message = nil, status = nil, e = nil, params = nil)
click to toggle source
# File lib/exceptionally/handler.rb, line 3 def initialize(message = nil, status = nil, e = nil, params = nil) @message = message @status = status || 500 @error = e @params = params || {} # ParameterFilter moved to ActiveSupport in rails 6 filter = defined?(ActiveSupport::ParameterFilter) ? ActiveSupport::ParameterFilter : ActionDispatch::Http::ParameterFilter f = filter.new(Rails.application.config.filter_parameters) @params = f.filter @params @@callback.call(@message, @status, @error, @params) if defined?(@@callback) && @@callback.respond_to?(:call) log end
Public Instance Methods
log()
click to toggle source
# File lib/exceptionally/handler.rb, line 23 def log # Log 5xx errors if @status >= 500 && @error Rails.logger.error(@error.to_s) Rails.logger.error("Parameters: #{@params.to_s}") unless @params.blank? Rails.logger.error(@error.backtrace.join("\n")) unless @error.backtrace.blank? end end