Sha256: 67db1d69b0ece4c06497b698af35326a4bdec0388faed59fe0cedabdf4129c94

Contents?: true

Size: 637 Bytes

Versions: 5

Compression:

Stored size: 637 Bytes

Contents

require 'action_dispatch'

module Justlogging
  class Middleware

    def initialize(app, options = {})
      @app, @options = app, options
    end

    def call(env)
      Justlogging::Transaction.create(env['action_dispatch.request_id'], env)
      @app.call(env)
    rescue Exception => exception
      unless Array.wrap(Justlogging.config[:ignore_exceptions]).include?(exception.class.name)
        Justlogging::Transaction.current.add_exception(
          Justlogging::ExceptionNotification.new(env, exception)
        )
      end
      raise exception
    ensure
      Justlogging::Transaction.current.complete!
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
justlogging-rails-0.0.5 lib/justlogging/middleware.rb
justlogging-rails-0.0.4 lib/justlogging/middleware.rb
justlogging-rails-0.0.3 lib/justlogging/middleware.rb
justlogging-rails-0.0.2 lib/justlogging/middleware.rb
justlogging-rails-0.0.1 lib/justlogging/middleware.rb