class Padrino::Logger::Rack
rack.errors by default.
logs a line in the Apache common log format to the logger
, or
Padrino::Loggger::Rack forwards every request to an app
given, and
#
def call(env) # @private
- Private: -
def call(env) # @private env['rack.logger'] = Padrino.logger began_at = Time.now status, header, body = @app.call(env) log(env, status, header, began_at) [status, header, body] end
def code_to_name(status)
def code_to_name(status) ::Rack::Utils::HTTP_STATUS_CODES[status.to_i] || '' end
def initialize(app, uri_root) # @private
- Private: -
def initialize(app, uri_root) # @private @app = app @uri_root = uri_root.sub(/\/$/,"") end
def log(env, status, header, began_at)
def log(env, status, header, began_at) return if env['sinatra.static_file'] && (!logger.respond_to?(:log_static) || !logger.log_static) logger.bench( env["REQUEST_METHOD"], began_at, [ @uri_root.to_s, env["PATH_INFO"], env["QUERY_STRING"].empty? ? "" : "?" + env["QUERY_STRING"], ' - ', logger.colorize(status.to_s[0..3], :bold), ' ', code_to_name(status) ] * '', :debug, :magenta ) end