class Rack::CommonLogger
Constants
- FORMAT
Private Instance Methods
log(env, status, header, began_at)
click to toggle source
# File lib/rack/request_tracker/rack_common_logger.rb, line 7 def log(env, status, header, began_at) now = Time.now length = extract_content_length(header) msg = FORMAT % [ env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-", env["REMOTE_USER"] || "-", now.strftime("%d/%b/%Y:%H:%M:%S %z"), Rack::RequestTracker.compute_tags, env[Rack::REQUEST_METHOD], env[Rack::PATH_INFO], env[Rack::QUERY_STRING].empty? ? "" : "?"+env[Rack::QUERY_STRING], env["HTTP_VERSION"], status.to_s[0..3], length, now - began_at ] logger = @logger || env['rack.errors'] # Standard library logger doesn't support write but it supports << which actually # calls to write on the log device without formatting if logger.respond_to?(:write) logger.write(msg) else logger << msg end end