ログとは
人間さん「ログを出力するとかロガーとか聞くけど」
人間さん「そもそもログってなんなのよ」
いぬ先生「急に来たね」
いぬ先生「storage/logs/laravel.log に出力されてるよ」
人間さん「ファイル見にいったけど」
人間さん「なにかずらずら書かれてることはわかった」
人間さん「でなんなの?」
いぬ先生「ここに書かれてるから読んでね」
人間さん「初っ端から何言ってるかわかりません!」
いぬ先生「うん!ごめんね!」
いぬ先生「ログは、アプリケーションの動作検証やユーザーのアクセス状況など」
いぬ先生「ある時点の事実を記録するものなんだ」
人間さん「なるほどなるほど」
人間さん「で、どういうことができるの?」
いぬ先生「例えば、アプリケーション運用での障害検知や障害の原因究明」
いぬ先生「データ分析での活用などがある」
いぬ先生「ログにはさまざまな利用用途があるから」
いぬ先生「正しいログ生成は重要なことなんだ」
人間さん「ログって大事なのね~」
出力してみる
人間さん「実際にどう使うの?」
いぬ先生「ログの操作は、Logファサード経由、」
いぬ先生「またはPsr\log\LoggerInterfaceインターフェースを実装しているから…」
人間さん「ちょ、もう少しわかりやすく頼んます」
いぬ先生「ログを出力するにもいろんな方法があるということだよ」
いぬ先生「まず細かいことはさておき」
いぬ先生「シンプルな例で出力をしてみて雰囲気を掴んでみよう」
人間さん「それはありがたい」
いぬ先生「例えば、ヘルパー関数 logger() をコントローラーに含める」
class TestController extends Controller
{
public function store(Request $request)
{
logger($request);
// 以下略
いぬ先生「こうすると送信されたリクエスト値が」
いぬ先生「storage/logs/laravel.log ファイルの末尾に出力される」
人間さん「本当だ!」
[2022-09-08 00:00:00] local.DEBUG: array(
// 中データは例です
'id' => '1',
'text' => 'test',
)
人間さん「中身が配列で出力されました」
いぬ先生「こちらの記事がLaravelのログ出力方法の参考になるよ」
ロガーとは
人間さん「ちなみにロガーってのはなんなの?」
いぬ先生「何らかのログを記録する機能のことを一般にロガーと言ったりするみたい」
いぬ先生「Laravelで言えばさっき紹介した出力もロガーにあたるね」
人間さん「メソッド名もloggerだもんね」
きっかけ
いぬ先生「そういえばなんで急にログのこと気になったの?」
人間さん「非同期(Ajax)で取得したデータの中身を見たくて、dd()でデバッグを試したら」
人間さん「ページが切り替わってしまうからか確認できなくて」
人間さん「どうにか見る方法ないかなって探してて」
人間さん「ロガーを使ったら良いことに行き着いたんだけど・・・」
いぬ先生「そもそもログってなんぞやってことだったのね」
人間さん「お恥ずかしながら」
いぬ先生「みんなも最初は無から始まってるから恥じることないよ」
人間さん「ぬくもりを感じる」
参考