"Rails serverを見やすくするツール rails-dashboard"を使ってみた
rails-dashboard とは
- rails serverのログをみやすくパースしてくれるツール
開発者自身が"npm binを作ってみたかったから"という理由でgemではなくnpmでの配信になっているらしい (下記が詳細の記事です) qiita.com
体感としては wiresharkにすごい似ているなぁ。。と感じたw
- githubリンク
導入方法
nodebrew -v && npm -vでエラーがでなければそのまま進む(エラーでたらインストールします:後述)
$ npm install -g rails-dashboard $ rials-dash-board -V //入っているか確認
nodebrew -v && npm -vがエラー(まだインストールしたことない場合)
//nodebrew installl $ brew install nodebrew $ nodebrew -v //インストールの確認→バージョン出ればおk $ vim ~/.bash_profile //環境変数の追加(内容下記) > export PATH=$PATH:$HOME/.nodebrew/current/bin:$PATH //alias "rs" でrails-dashboardを起動する設定(~/.bash_profileに追記) > alias rs="rails-dashboard rails s" //bash_profileの読み込み。 $ source ~/.bash_profile //インストール時に下記ディレクトリがないとエラーになるので"lsや cd"をつかって確認する。→なければ作成 "/usr/local/var/nodebrew/src" $ mkdir /usr/local/var/nodebrew $ mkdir /usr/local/var/nodebrew/src //最新のnodeをinstall $ nodebrew install-binary latest //インストールできたか確認 $ nodebrew ls //installしたnode.jsを利用するよう変更 $ nodebrew use latest //再び確認 $ nodebrew ls //current: v8.4.0 という風になっていれば成功。 node -v npm -v でバージョンが表示されれば成功しています。
rails-dashboard実行時につまったこと。
- railsのバージョンによってはうまく起動しない。。。 ~ > 5.0.3 && 5.1.2系では動いたが4系のrailsアプリではうまく動かなかった ~ (自分の環境の問題かもしれないが。。。。。。)
~ 4系で実行するとサーバーログが少しでて終了してしまう。。。。~
rails-dashboard rails s [2017-09-07 13:15:11] INFO WEBrick 1.3.1 [2017-09-07 13:15:11] INFO ruby 2.1.8 (2015-12-16) [x86_64-darwin16.0]
qiiitaをみると
Rails5.1で動作確認をしていますが、ログのフォーマットが変わっていなければRails4以下でも動くはずです。 となっているのでもしかしたら4系と5系で”ログのフォーマットが変わっているのかも”しれませんね。。。
上記のような場合は下記で対応できます!!(追記) Gemfileに
gem ‘puma’ (僕はgem ‘puma’, ‘~> 3.7’) と記述を追記し、 $ bundle install
するとrails versionに関係なく、実行できました!
——-ここから下は私の苦戦の跡wです———–
僕はこの原因を探すのに苦戦してしまい。。。。。
rails-dashboardに使用されている下記のライブラリもインストールしました。
(おそらく不要かと思います。。もし5系でも動かなかったら入れてみてください)
1. blessed
2. React
3. react-blessed
方法は
npm install react@0.14.0 blessed npm install react-blessed
- pry-rails によるデバッグができない???
まだがっつり使ってるわけではないので詳細は省きますが、 binding.pryで処理は止まるが、通常のデバッグのような手法ができなかった。。。。 処理を止めた、ところでリクエストパラメータをのぞいたり、DBへの保存を試みたりするさいには通常の"rails s"をするしかするしかないのだろうか??
また何かあれば追記していく予定です。