class Namira::Middleware::Logger

Performs request logging

Constants

SKIP_LOGGING_KEY

The key that will disable logging

Public Class Methods

new(app) click to toggle source
# File lib/namira/middleware/logger.rb, line 10
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source

Called by the middleware runner.

@param env [Namira::Env] The request environment

# File lib/namira/middleware/logger.rb, line 18
def call(env)
  log_request(env)
  @app.call(env)
end

Private Instance Methods

log_request(env) click to toggle source
# File lib/namira/middleware/logger.rb, line 33
def log_request(env)
  return unless logging?(env)

  message = "#{env.method.to_s.upcase} - #{env.uri}"
  if defined?(::Rails)
    Rails.logger.debug(message)
  else
    STDOUT.puts(message)
  end
end
logging?(env) click to toggle source
# File lib/namira/middleware/logger.rb, line 25
def logging?(env)
  if env.config.key?(SKIP_LOGGING_KEY)
    env.config[SKIP_LOGGING_KEY] == false
  else
    Namira.config.log_requests == true
  end
end