Sinatraでログをファイルに保存する方法

タグ: sinatra / 公開: 2014-04-29

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。

参考

この記事をSNSでシェアする
タイトルとURLをコピーする
または投稿画面を開く
Author
Icon
ぺけみさお / xmisao
プログラマ。
Subscription
Recent articles
Related to sinatra