「WEBrick」「Logger」「標準ライブラリ」「ローテーション/ローテート」とかのワードでググってもそれっぽいのがサッと出てこなかったのでメモ。
第 2 引数に 'daily' などの文字列を指定すると、 期間を基準にしてログをローテーションしてくれます。
(略)
サイズを基準にしたローテーションとは違って、 古いログファイルが自動で消えることはありません。 そのため、ディスクの空き容量に注意する必要があります。Rubyist Magazine - 標準添付ライブラリ紹介 【第 2 回】 Logger
http://magazine.rubyist.net/?0008-BundledLibraries
とのことなので、ひとまずサイズごとローテーションで。
# coding: utf-8 require 'webrick' require 'logger' $log_server = Logger.new("./server.log", 5, 1 * 1024 * 1024) $log_server.level = Logger::INFO $log_access = Logger.new("./access.log", 5, 1 * 1024 * 1024) server = WEBrick::HTTPServer.new( :DocumentRoot => "./", :Port => 5678, :Logger => $log_server, :AccessLog => [ [$log_access, WEBrick::AccessLog::COMMON_LOG_FORMAT], [$log_access, WEBrick::AccessLog::REFERER_LOG_FORMAT] ] ) server.start
参考
class Logger (Ruby 3.1 リファレンスマニュアル)
https://docs.ruby-lang.org/ja/latest/class/Logger.html