From d99801bbc86dbdbf8832475a56fd7e9b07e58b4f Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 9 Dec 2010 10:16:50 +0000 Subject: [PATCH] * lib/webrick/accesslog.rb (WEBrick::AccessLog#format): support %{remote}p for logging remote (client) port number. [ruby-dev:42670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ NEWS | 2 ++ lib/webrick/accesslog.rb | 7 +++++++ 3 files changed, 15 insertions(+) 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