warningをエラーにする方法

2008/05/16 17:10:51

warningは気持ち悪いので、ちゃんと消しておきたい。でもスルーすることも出来ちゃうし、後から消すのはめんどい。だったらエラーにしちゃって直さざるをえないようにしたいよねとMLで聞いてみたら、ログ出力をチェックしてraiseさせる方法を教えてもらいました。先日のセミナーでも、ちゃっかり自分の手柄の様に紹介しちゃったのでここでソース紹介しておきますね。

class ::Warning < RuntimeError
  def self.write(s)
    if / warning:/i =~ s
      $stderr = STDERR
      raise(self, s.chomp)
    end
    STDERR.write(s)
  end
end
$stderr = Warning

これをconfig/environments/development.rbの下の方に追加してあげると、ログにwarningを見つけたらraiseされるようになります。でも、rails1.2の時に出ていたDEPRECATION WARNINGは拾えません。ちょっと調べればわかるんでしょうけど、とりあえずペンディング中

※このエントリは builder メンバーにより投稿されたものです。シーネットネットワークスジャパン および builder編集部の見解・意向を示すものではありません。
記事の感想やご意見をコメントでお寄せください(CNET_IDログインが必要です)
ログイン パスワードを忘れた方  |  新規登録
  • 新着記事
  • 人気記事
  • 特集
  • ブログ
  • 読者投票
    今、使っているマシンのOSは?

    投票受付期間:2008年6月27日 〜 2008年7月11日
  • » 投票しないで結果だけ見る