郡司と申します。

>> 参考になるサイト等あればお教えください。

ちょっと気になったので、
「Rubyリファレンスマニュアル刷新計画」(通称:るりま)
のほうを確認してみました。

http://doc.ruby-lang.org/ja/1.9.2/library/webrick.html
http://doc.ruby-lang.org/ja/1.9.2/class/WEBrick=3a=3aHTTPServer.html

アクセスログだけ欲しいときは、:AccessLogを使ったほうが
良さそうですね。

以下、10080番ポートで全てのインタフェース向けに待ち受ける
Webサーバのサンプルです。
例によって'/path/to/contents'と'/path/to/logfile'は
適宜書き換えてください。

出力されるログのフォーマットはCommon Log Format
(WEBrick::AccessLog::CLF)にしています。

http://doc.ruby-lang.org/ja/1.9.2/method/WEBrick=3a=3aAccessLog/c/COMMON_LOG_FORMAT.html

--
require 'webrick'

config = {
  :DocumentRoot => '/path/to/contents',
  :AccessLog => [
    [File.open('/path/to/logfile', 'w'), WEBrick::AccessLog::CLF]],
  :BindAddress => '0.0.0.0',
  :Port => 10080,
}

server = WEBrick::HTTPServer.new(config)

['INT', 'TERM'].each do |signal|
  Signal.trap(signal) { server.shutdown }
end

server.start
--


From: Satoshi GUNJI <gunjisatoshi / rikuga.me>
Subject: [ruby-list:47757] Re: WEBrick のアクセスログファイル出力方法について
Date: Thu, 13 Jan 2011 17:22:59 +0900

> 郡司と申します。
> 
> server.rbの内容が分からないので何とも言えないのですが、
> lib/ruby/1.9.1/webrick/config.rbの中身を見ると、
> 28行目に
> 
> --
>       :Logger         => nil,   # default: WEBrick::Log.new
> --
> 
> とあるので、WEBrick::HTTPServer.newの引数で
> ハッシュの一要素として指定してあげればよさそうですね。
> 
> 以下、簡単なWebサーバの例です。
> 下記の"/path/to/logfile"をログファイルを置きたい所に
> 書き換えてください。
> 
> --
> require 'webrick'
> 
> config = {
>   :Logger => WEBrick::Log.new("/path/to/logfile"),
>   ... # 他のコンフィグは省略
> }
> 
> server = WEBrick::HTTPServer.new(config)
> 
> ['INT', 'TERM'].each do |signal|
>   Signal.trap(signal){ server.shutdown }
> end
> 
> server.start
> --
> 
> 
> From: 上田佳寛 <ueda / yicom.jp>
> Subject: [ruby-list:47756] WEBrick のアクセスログファイル出力方法について
> Date: Thu, 13 Jan 2011 16:36:21 +0900
> 
>> アクセスログのファイル出力の方法がわかりません。
>> Apacheのログイメージです。
>> 
>> 回避策としてコマンドラインから
>>> (ruby server.rb 2> errlog.txt) > logfile.txt
>> としてアクセスログを獲得していますが、なんとも情けない。
>> 
>> Loggerクラスで出力先を指定できそうなのですが、方法がわかりません。
>> 
>> 参考になるサイト等あればお教えください。
>> ちなみにWEBrickのリファラーでは私にはわかりませんでした。
>> http://www.ruby-lang.org/ja/man/html/WEBrick_HTTPServer.html
>> 
>> 
>