RailsのログをSyslogへ出力(Log Levelを指定)

7 月 13th, 2011

Evernoteを使うようになってから、めっきりblogへ書くことが少なくなってしまった。

さておき、Railsのlogをsyslogへ出力する方法については検索で簡単にみつけられたのだが、ログレベルを指定する方法については色々探したものの見つけることができなかった。

結局あきらめてソースを見たらすぐに答えはあった。

initializeにて@level = Logger::DEBUGと書かれている….
attr_accessor :levelの定義もあったので、インスタンス化後に指定したいログレベルをRAILS_DEFAULT_LOGGER.level=でセットしてあげれば良いと。

私の場合、設定周りは以下のようになりました。

config/environment.rb

Rails::Initializer.run do |config|
(snip.)
  config.gem 'SyslogLogger', :lib => 'syslog_logger'
(snip.)
end

config/environments/production.rb

require 'syslog_logger'
RAILS_DEFAULT_LOGGER = SyslogLogger.new "appname"
RAILS_DEFAULT_LOGGER.level = Logger::INFO

Related posts