ロギングによるデバッグ 【CakePHP4】

概要

デバッグや変数の内容のチェックを行う際に、通常であればvar_dump()等の関数を使います。

しかし、controllerではvar_dumpを使ってもviewが描画されないのでチェックができません。

そこで、ロギングをして、確認したい内容をログファイルに書き出す必要があります。

ロギング

コード

以下のコードでロギングを行います

/src/Controller/SamplesController.php
<?php
・・・省略

namespace App\Controller;
use Psr\Log\LogLevel;

class SamplesController extends AppController
{
      public function test(){
           $text = "あいうえお";
           $array = [1,2,3,4,5];
           //Controller内では、以下のコードでデバッグできない。
           //var_dump($text);

           $this->log('テキストのチェック ={text}', LogLevel::ERROR, ['text' =>  $text]);
           $this->log('配列のチェック ={array}', LogLevel::ERROR, ['array' =>  $array]);
     }
}

ログチェック

上記のコードによって、cakePHPのパス/logs/error.logにロギングされますので、それをチェックします。

以下のようにerror.logに記載されています。

2023-11-03 12:35:26 error: テキストのチェック =あいうえお
2023-11-03 12:35:26 error: 配列のチェック =[1,2,3,4,5]

テキストだけでなく配列であっても、普通に内容を確認できています。

参考

CakePHP 4.x Strawberry Cookbookロギング

コメント

タイトルとURLをコピーしました