#RailsのControllerでlogを出力する
開発をしていると、適切な場所に処理が通っているのか
変数の中身がなんなのか
など確認したいことが色々出てきます。
そうなった場合にRailsでは、logger.debugを使用して確認できます。
logger.debugを使用するとlog/development.logにlogを出力できます。
##環境
RubyonRails: 5.0.3
Ruby: 2.3.3
##使い方
使い方は、logger.debugと記述し出力したいログを書くだけなので
とっても簡単です。
###Controllerで使ってみる
以下は、Controller内のif文の中にlogを仕込む例です。
def index
if true then
logger.debug("if文の中に入りました")
end
end
if文の中に入りました
###Viewで使ってみる
logger.debugはViewに仕込むことも可能です。
以下は、View内にlogを仕込む例です。
<% logger.debug("このページは読み込まれています") %>
このページは読み込まれています
###インスタンス変数を出力してみる
logger.debugで出力できるものは、文字だけではありません。
@testのようなインスタンス変数も出力できます。
以下は、インスタンス変数の中身を出力する例です。
@test = Test.all
logger.debug(@test)
<Test::ActiveRecord_Relation:0x007f16ec445390>
inspectをつけたら
わかりやすく中身を表示することが可能です。
個人的には、inspectを付けて使うことが多いです。
@test = Test.all
logger.debug(@test.inspect)
#<ActiveRecord::Relation [#<Test id: 1, name: "hoge">, #<Test id: 2, name: "fuga">]>
以上です。