diff --git a/ChangeLog b/ChangeLog index df47861416..d9cf7049b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Dec 9 18:51:06 2010 Tanaka Akira + + * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): support + %{remote}p for logging remote (client) port number. + [ruby-dev:42670] + Thu Dec 9 11:00:30 2010 Yukihiro Matsumoto * array.c (rb_ary_dup): should copy contents only. no instance diff --git a/NEWS b/NEWS index dc63c17fc5..16f7a53491 100644 --- a/NEWS +++ b/NEWS @@ -74,6 +74,8 @@ with all sufficient information, see the ChangeLog file. * webrick * new method: * WEBrick::HTTPRequest#continue for generating '100 continue' response. + * new logging directive: + * %{remote}p for remote (client) port number. * uri * new methods: diff --git a/lib/webrick/accesslog.rb b/lib/webrick/accesslog.rb index 0bed8097d5..a9e8533fd1 100644 --- a/lib/webrick/accesslog.rb +++ b/lib/webrick/accesslog.rb @@ -56,6 +56,13 @@ module WEBrick (param = params[spec][param]) ? escape(param) : "-" when ?t params[spec].strftime(param || CLF_TIME_FORMAT) + when ?p + case param + when 'remote' + escape(params["i"].peeraddr[1].to_s) + else + escape(params["p"].to_s) + end when ?% "%" else