Rails
Linux
less
UNIX
tail

開発時にログを見るならtailよりもless!!

More than 1 year has passed since last update.

アプリの開発をしていると、アプリが吐き出すのログを見ることが多いと思います。

以前会社の同僚に教えてもらったので、自分で考えをまとめるために記事にします。


背景

僕の場合Railsで開発することが多く、development.logなどを見ることが多いです。

ログを垂れ流して見る場合ターミナルで tailf コマンドや tail -f を使っていて、

必要があれば Ctrl-c で止めてターミナルをスクロールしてログを見ていました。

あとはターミナルの検索機能で文字列検索したり。。。などなど

そんな人に tail ではなく less を使うとちょっと便利だよという内容です。


lessの基本

Unix関連のOSには多分デフォルトでインストールされていると思います。

コマンドの引数にファイル名を指定して起動します。

操作感は morevi と似ています。

vi とは違い起動時にファイルの中身をすべて読み込むわけではないのでとても起動が早いです。<=ここが魅力

すごい容量のファイルでも起動待ちなく開くことができます。

less ファイル名


lessでログを見る (-F オプションを使ってログを垂れ流す)

ここが一番言いたいことです。

lessでファイルを開いた後、 F (shift-f) を押すことで画像のような Waiting for.... という表示がされると、ファイル末尾を tail -f と同じような感じでモニターできる。

スクリーンショット 2015-04-15 7.27.24.png

止めたいときは、 Ctrl-c で通常の less に戻る。そこで普通に / (スラッシュ)とかで検索ができたりする。

tail -f よりも少し便利。 less の状態を抜けることなく一気通貫でログの閲覧ができます。


lessのおすすめオプション

lessを起動するときに僕が利用しているオプションです。

less -qR ファイル名


  • -q

    ベルを鳴らさない。スクロールしていて末尾に辿り着いた時に音が「ポンッポンッ」ってなるのを止めたかった。

  • -R

    ANSIカラーのエスケープシーケンス ESC [ ... m が含まれていると、ちゃんとカラーで表示してくれる。

    Railsのdevelopment.logとかだいたいANSIカラーのエスケープされているため。

aliasを設定するといい感じです。

alias less='less -qR'

上記書いたことのほとんどはManページに書かれています。ご参考までに。

Man page of LESS

余談、、

lessだいぶいいと思いながらも、、手癖が染み付いていて、無意識に tail -f を打っちゃうのを治したい orz