【Rails】logger.debugを使ったログの出力方法

こんにちは!CODE CLUB965のKです!

開発やプログラミング学習などをしていると、正常に処理が通っているのかや、変数の中身が何かなど知りたい場面が多くあると思います。

今回は、そのような場合にログを出力して知る方法について書きたいと思います。

logger.debugを使う

結論から言うと、「logger.debug」を使うことで、logフォルダ内のdevelopment.log ファイルにログを出力することができます。

使い方は非常に簡単で、ログを出力したい場所で「logger.debug」を記述するだけです。

例えばコントローラー(controller)で記述する場合は、

def index
  logger.debug("ログを出力します")
end

こんな感じで書きます。
これだけで「ログを出力します」と言うログが、development.log ファイルに出力されます。

もちろん、文字列だけでなく「@user」のような変数もログ出力できます。
ただ、以下のような場合は「inspect」をつけるとログが分かりやすくなります。

@user = User.all
logger.debug(@user)

# 出力結果 : <User::ActiveRecord_Relation:0x007f16ec445390>

これだとログを見ても変数の中身が分からないので、

@user = User.all
logger.debug(@user.inspect)

# 出力結果 : #<ActiveRecord::Relation [#<id: 1, name: "aaa">, #<id: 2, name: "bbb">...]>

中身が見れるようになります。

他にも、ビュー(view)でログ出力することもできます。
記述する場合は、

<% logger.debug("Hello World!!") %>

こう書くことでログ出力されます。

最後に

ログの出力は開発をしていれば確実に必要になります。

logger.debugを使えば、簡単にログが出せるので使ってみてください!

それでは、また!

Follow me!