format(format_string, params)
public
Formats params according to format_string which is
described in setup_params.
Show source
def format(format_string, params)
format_string.gsub(/\%(?:\{(.*?)\})?>?([a-zA-Z%])/){
param, spec = $1, $2
case spec[0]
when ee, ii, nn, oo
raise AccessLogError,
"parameter is required for \"#{spec}\"" unless param
(param = params[spec][param]) ? escape(param) : "-"
when tt
params[spec].strftime(param || CLF_TIME_FORMAT)
when pp
case param
when 'remote'
escape(params["i"].peeraddr[1].to_s)
else
escape(params["p"].to_s)
end
when %%
"%"
else
escape(params[spec].to_s)
end
}
end