1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel8ログの出力方法

Posted at

今回はログの出し方をアウトプットしていく

ログを使用する理由
①意図した値が変数に入ってきているか確認できる。
②どこまで正しい処理ができているのか確認できる。
ログを出力するためにLog::debugを使用する。
確認場所はstorage/logs/laravel.logファイルで確認できる。

①の使用例

//Log::debugを使用するため読み込む
use Illuminate\Support\Facades\Log;

class AuthenticatedSessionController extends Controller
{
    public function store(LoginRequest $request)
    {
        $request->authenticate();
        //$requestの中身をログで出す
        Log::debug($request);

        $request->session()->regenerate();

        return redirect()->intended(RouteServiceProvider::HOME);
    }
}

②の使用例

//Log::debugを使用するため読み込む
use Illuminate\Support\Facades\Log;

class AuthenticatedSessionController extends Controller
{
    public function store(LoginRequest $request)
    {
        //正常な処理なのでLogには1が表示される
        $request->authenticate();
        Log::debug('1');

        //正常な処理なのでLogには2が表示される
        $request->session()->regenerate();
        Log::debug('2');

        //エラー処理なのでLogには3が表示されない
        $request-> 
        Log::debug('3');   

        return redirect()->intended(RouteServiceProvider::HOME);
    }
}

日ごとでlaravel.logファイルを分ける

通常laravel.logファイルは一つにまとめられているのでわかりやすいように日ごとにlogファイルを分ける。
設定はconfig/logging.phpで行う。
Laravelはメッセージをログに記録するときに、デフォルトでstackチャンネルを使用しているのでstackチャンネルのチャンネルドライバの設定をdaily設定に変えてあげる

   'stack' => [
            'driver' => 'stack',
            'channels' => ['daily'],//日毎にファイルを切り替えるRotatingFileHandlerベースのMonologドライバ
            'ignore_exceptions' => false,
        ],

設定を変えたら一度キャッシュする必要がある。
下記のコマンドを実行してキャッシュする。

$php artisan cache:clear
$php artisan config:clear

追記

下記に使用可能なログチャンネルドライバを記載しておきます。

custom = 指定ファクトリを呼び出してチャンネルを作成するドライバ
daily = 日毎にファイルを切り替えるRotatingFileHandlerベースのMonologドライバ
errorlog = ErrorLogHandlerベースのMonologドライバ
monolog = Monologがサポートしているハンドラを使用するMonologファクトリドライバ
null = すべてのログメッセージを破棄するドライバ
papertrail = SyslogUdpHandlerベースのMonologドライバ
single = 単一のファイルまたはパスベースのロガーチャンネル(StreamHandler)
slack = SlackWebhookHandlerベースのMonologドライバ
stack = 「マルチチャンネル」チャンネルの作成を容易にするラッパー
syslog = SyslogHandlerベースのMonologドライバ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?