SinatraでRack::CommonLoggerを使ってアクセスログを取る方法のメモ。 アプリケーションに以下を記述する。
configure do
enable :logging
file = File.new("#{settings.root}/log/#{settings.environment}.log", 'a+')
file.sync = true
use Rack::CommonLogger, file
end
ロギングを有効にするためにenable :loggingする。 Sinatra::Baseを継承しないクラシックスタイルアプリケーションの場合は、デフォルトでロギングが有効なので、この1行は必要ない。
続いてログを出力したいファイルをオープンする。 ログは即座にファイルに書き出したいためfile.sync = trueしておく。
最後にuse Rack::CommonLoggerで開いたファイルを渡してロガーを初期化してやればok。
参考
