スライドショー

rails logの使い方!基礎から発展まで!

どうも、インストラクターのババです!
実務で開発をしていると、

とりあえずlog読んで!
logになんてでてるか確認して!

などlogという言葉が度々使用されます。しかし実際にlogを扱うとなると

そもそもlogってなに?
どういう時logって使うの?
railsのlogってどういう風に使うの?

など様々な疑問が出てくると思います。そこで今回は、

  • logとは
  • logの活用方法
  • railsでのlog
  • logレベル

について解説していきます。それでは行ってみましょう!

logとは

logとはプログラムを実行した時に出る履歴のことです。

logには

  • どんな処理がされているのか
  • 変数の値になにが入っているのか
  • どんなSQLが発行されているか
  • なにが原因でエラーが出るのか

などの情報が出力されます。先輩がとりあえずlog読んでというのも納得ですね。つまり、logを見ればどのプログラムがどんな動作をしているのか一目瞭然であると言えます!

logの活用方法

上を読んで

どんな処理かわかったところでなにに使うの?

と思った方がいらっしゃるかもしれません。logは主に二種類の活用方法があります!

エラー解決

logにはエラーメッセージが表示されます。そのプログラムの何行目になにが原因で出ているのか、全てのエラー情報がここに詰まってます。なのでエラー解決の際はlogを見れば解決する場合が多いです。

デバッグ

ただ、上のエラーメッセージのみでは解決のための情報が足りない場合があります。そういう時にすのがデバッグと呼ばれる作業です。

デバッグは、変数の中身や、メソッドの返り値などを表示することで、なにが原因でエラーやバグが発生しているのかを突き止める作業のことを言います。このデバッグの作業もlogを活用して行います。

Railsでのlog

開発環境の場合railsのlogはrails serverでサーバーを立ち上げたターミナルに表示されます。
%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2017-01-09-14-41-10

また過去のlogを遡りたい場合などは、railsのlogディレクトリ配下のdevelop.rbに出力されます。railsのlogには,request情報、render情報、paramater情報、SQL情報、処理速度など、logを見ればどんな処理が行われているのかわかるように、logが出力されています。

ただどうしても、デフォルトの出力だけだと、デバッグしきれない場合があります。その時に使用するのがloggerメソッドです!

logger

loggerは名前で想像できる方もいらっしゃるかもしれませんが、logを出力するためのメソッドです。

logger.ログレベル(オブジェクト)
logger.debug(user)

と言った風に使用します。
ここで見慣れないログレベルという単語が出てきたと思います。

ログレベル

ログレベルとはログのカテゴリを示すための値として使用されます。
ログレベルには六種類あり、

  • unkown: 不明なエラー
  • fetal: 致命的なエラー
  • error: エラー
  • warn: 警告
  • info: 通知
  • debug: debug

上に行くほどログレベルが高いと呼ばれます。ログレベルは出力するログを絞りたい時に使用されます。

例えば本番環境でlogをとりたい時など、debugやinfoなどの下位のログまで表示していると、logが膨大になってしまい、logをたどることができなくなってしまいます。そこで設定でlogレベルを絞ることで、適切なlogを表示できるようにするのです。

ログのクリア

開発しているとlogが膨大になってしまうとログファイルが大きくなってしまい、ファイルサイズを圧迫してしまうことがあります。
そんな時は
rake log:clearというコマンドを打つことで、覚えておきましょう。

まとめ

今回はlogについて解説していきました。logをしっかり使用できるということは、エンジニアとして、必須のスキルになります。

基本的なlogの知識のほかにもログレベルなどの少し発展的な知識を知っておくことで適切にlogを使用することができます!
この記事を参考に是非logを使用してみてください!

関連記事


【Rails入門】ルーティング (config/routes.rb)の書き方を説明!
更新日 : 2019年7月31日

スマートに検索!Railsのwhere使い方まとめ!
更新日 : 2017年1月5日

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

ババシュンスケ

ババシュンスケ

こんにちは!
今年大学を飛び出し、フリーランスエンジニアとして働いています、ババです!

エンジニアはしんどい仕事と思われていますが、実はそんなにしんどくなくて、お金ももらえて、社会のためになる素晴らしい仕事というのを伝えるために、侍で業務委託として働いています!!

フリーランスの日常やら書いているブログやってます=>http://www.babashun.net/

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説