aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--NEWS2
-rw-r--r--lib/webrick/accesslog.rb7
3 files changed, 15 insertions, 0 deletions
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 <akr@fsij.org>
+
+ * 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 <matz@ruby-lang.org>
* 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