class Pacproxy::AccessLogger

Provide log Function

Attributes

logger[RW]

Public Class Methods

new() click to toggle source
# File lib/pacproxy/access_logger.rb, line 12
def initialize
  c = Config.instance.config['access_log']
  @format = WEBrick::AccessLog::COMMON_LOG_FORMAT
  return @logger = nil unless c

  @format = c['format'] if c['format']

  location = c['location'] ? c['location'] : STDOUT
  shift_age = c['shift_age'] ? c['shift_age'] : 0
  shift_size = c['shift_size'] ? c['shift_size'] : 1_048_576
  @logger = Logger.new(location, shift_age, shift_size)
end

Public Instance Methods

accesslog(req, res) click to toggle source
# File lib/pacproxy/access_logger.rb, line 25
def accesslog(req, res)
  params = setup_params(req, res)
  return unless @logger
  @logger << WEBrick::AccessLog.format(@format, params)
  @logger << "\n"
end

Private Instance Methods

setup_params(req, res) click to toggle source

This format specification is a subset of mod_log_config of Apache: See: github.com/ruby/ruby/blob/trunk/lib/webrick/accesslog.rb

# File lib/pacproxy/access_logger.rb, line 37
def setup_params(req, res)
  WEBrick::AccessLog.setup_params({ ServerName: '-' }, req, res)
end