はじめに
エンジニア1年生です。
日々の学びのメモとしてコツコツと記事を書こうと思っています。
今回はRailsでのログの出し方について書いていきます。
そもそもログとは??
ログとは、コンピュータの利用状況やデータ通信など履歴や情報の記録を取る事、また記録そのものを指します。
例:勤怠ログ、アクセスログ
ログの必要性
エラー発生時はエラーメッセージを読んで原因を探すかと思います。
開発の過程でプログラムの処理をログファイルに書き出すように実装していればどこまで処理が動いたのか、
処理に使用された値などが明確になり原因の特定が迅速に行えます。
また、開発でも想定通りに処理が動いているかをログを確認しながら進めることでより効率的に開発が進められます。
Railsでのログの種類
Railsではログを行うためにloggerというオブジェクトが標準で用意されています。
loggerオブジェクトには5つのメソッドが用意されています。
メソッド | 役割 |
---|---|
unknown | 不明なエラー |
fatal | 致命的なエラー |
error | エラー |
warn | 警告 |
info | 情報 |
debug | デバッグ |
上から優先順位の高いログになっています。
書き方
controller.rb
logger.メソッド(メッセージ内容)
です。
errorのログを出力したい場合は
logger.error(メッセージ内容)
と書くだけです。
具体例
簡単な具体例を書きます。
createしたユーザーの名前をログに出力する。
users_controller.rb
def create
@user = User.new(users_params)
@user.save
#ここにログを仕込む
logger.info(@user.name)
end
これでUserの名前がログとして出力されます。
環境によって異なるかとは思いますが、
ログの出力内容はlog/development.logに記録されます。
以上です。