Papertrailの無料版がいっぱいになったのでフィルタリングすることにした。Rails / heroku

heroku + Rails で開発してると、いろいろアドオンがあって便利です。ログもPapertrailを使ってていい感じだったんだけども、「10MB超えました、無料版は終了です」となったので、いったんログを消すことにした。

部分的にログを消す方法は見つけられなかったな。まぁどうせブログのログだし重要でないので全消しすることに。削除ボタンなるものはなかったけど、Papertrailのアドオンをherokuから削除したら、またゼロから使えたよ。制限ないのかな。

Railsのログめちゃくちゃ多いから多分すぐまた満杯になってしまうだろうということで、間引くことに。デフォルトじゃ重要じゃないログもたくさん保存されてるからね。

たとえばこれ。

Jan 21 12:26:48 yourapp app/web.1:    Rendered goog0px_02.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered goog0px_02.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered google/_ad_posts.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered google/_ad_posts.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered omment.html.erb (0.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered omment.html.erb (0.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/show.html.erb withs/application (107.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/show.html.erb withs/application (107.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered header.html.erb (7.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered header.html.erb (7.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered g_728px.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered g_728px.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sharedessage.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sharedessage.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered post_posts.html.erb (8.8ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered post_posts.html.erb (8.8ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/_posts.html.erb (10.8ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/_posts.html.erb (10.8ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered goog0px_01.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered goog0px_01.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sharh_form.html.erb (0.6ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sharh_form.html.erb (0.6ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered post_posts.html.erb (1.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered post_posts.html.erb (1.0ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/_posts.html.erb (1.9ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered posts/_posts.html.erb (1.9ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sdebar.html.erb (24.9ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered sdebar.html.erb (24.9ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered footer.html.erb (0.1ms) 
Jan 21 12:26:48 yourapp app/web.1:    Rendered footer.html.erb (0.1ms) 

テンプレート沢山つかうから、レンダリングされましたよーというログが大量にでる。これを毎回だされても困ったものなので、フィルタリングしちゃいましょう。

Papertrailのアドオンで、Account / Settings といくと、Filter Unnecessary Logs というのがあって、そのまんまですが、正規表現で要らないログをフィルターして間引けます。
Railsアプリを変更したり、あらたにGem入れなくても、Papertrail上で設定できるので便利だね。

Screen Shot 2014-01-21 at 9.43.52 PM

Rendered

と入れたので、上で挙げたログは全て間引かれます。

そんなにごっそり取り除かれたら困るという場合は、正規表現で書けばいけると。
たとえば下のような。

www\d+ \W: (Rendered|\/assets)

で、これが何を示しているかというと…正規表現の説明はしませんが…こんな感じ。

Screen Shot 2014-01-21 at 10.03.47 PM

逆に分かりにくいか。こんな感じの文字列がログの中にあったら見つけてねという表現です。
  

PostControllerのレンダーログだけ間引きたいという場合は、こんな感じでしょうか。

app\/web.\d:    Rendered posts\/

 
いろいろ実験するにはこのサイトが最高です。
http://rubular.com/
Your test string:にRailsのログを突っ込んで、いろいろさわってみれば、目的のログを掴むための正規表現がわかります。

これでキレイさっぱり!
ログ見るのが楽しくなってきた…は、ないか。

何かありましたらコメントをどうぞ

comments powered by Disqus

人気の記事

950 Points チリ出身のギタリストが弾くドラゴンボールZがむちゃくちゃかっこいい…
774 Points Wordpress + Heroku + PostgreSQL + Amazon S3 = ¥0 / 無料でサイト運営
700 Points Rubyのチートシート 変数 / クラス / モジュール
524 Points Rubyのチートシート / アクティブサポート
451 Points 紙のデザイナーがウェブ開発できるようになるまでに必要なこと
435 Points Rails / Google Analyticsのデータを使って分析や管理画面のためのグラフをつくる
323 Points RailsとHerokuでノーティフィケーションをプッシュする / PusherとTurbolinksの兼ね合い
222 Points Rails / RSpec テスト書いたことない メンドクサイ(n´Д`)という時のチートシート
193 Points Rails / Ajaxを使って画面遷移しない一時保存機能をつける
193 Points Protractorでスクレイピングしてみた