# File lib/padrino-contrib/exception_notifier.rb, line 22
      def self.registered(app)
        app.set :exceptions_subject, "Exception" unless app.respond_to?(:exceptions_subject)
        app.set :exceptions_to,      "errors@localhost.local" unless app.respond_to?(:exceptions_to)
        app.set :exceptions_from,    "foo@bar.local" unless app.respond_to?(:exceptions_from)
        app.set :exceptions_layout,  :application unless app.respond_to?(:exceptions_layout)
        app.set :exceptions_views,   app.views unless app.respond_to?(:exceptions_views)
        app.set :redmine, {} unless app.respond_to?(:redmine)
        app.set :exceptions_params_filter, ['password', 'password_confirmation'] unless app.respond_to?(:exceptions_params_filter)
        app.error 500 do
          boom  = env['sinatra.error']
          body  = ["#{boom.class} - #{boom.message}:", *boom.backtrace].join("\n  ")
          body += "\n\n---Env:\n"
          env.each { |k,v| body += "\n#{k}: #{v}" }
          body += "\n\n---Params:\n"
          params.each do |k,v|
            if settings.exceptions_params_filter.include?(k)
              body += "\n#{k.inspect} => [FILTERED]"
            else
              body += "\n#{k.inspect} => #{v.inspect}"
            end
          end
          logger.error body
          settings.redmine.each { |k,v| body += "\n#{k.to_s.capitalize}: #{v}" }
          app.email do
            subject "[#{app.exceptions_subject}] #{boom.class} - #{boom.message}"
            to app.exceptions_to
            from app.exceptions_from
            body body
          end
          response.status = 500
          content_type 'text/html', :charset => "utf-8"
          render settings.exceptions_page, :layout => settings.exceptions_layout, :views => settings.exceptions_views
        end
        app.not_found do
          response.status = 404
          content_type 'text/html', :charset => "utf-8"
          render settings.exceptions_page, :layout => settings.exceptions_layout, :views => settings.exceptions_views
        end
      end