PHP - Laravel - ログローテーション - 正式な作法


 クラウディア


1. 概要
2. 設定
3. 表示
4. 参考サイト

1. 概要

 「Laravel」のログをローテーションさせる、正式な作法を紹介します。

2. 設定

 「Laravel 10」の場合は。  プロジェクト所有者の権限で、プロジェクトのディレクトリへ移動して。

vi config/logging.php

    'default' => env('LOG_CHANNEL', 'stack'),
 上記を下記へ変更します。

    'default' => env('LOG_CHANNEL', 'daily'),
 参考サイトでは、下記を記述せろと言いますが。

        'daily' => [
            'driver' => 'daily',
            'path' => storage_path('logs/laravel.log'),
            'level' => env('LOG_LEVEL', 'debug'),
            'days' => 14,
            'replace_placeholders' => true,
        ],
 これは、もともとありますがな。

vi .env

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
 7行目を下記へ変更します。

LOG_CHANNEL=daily
 変更後。  (「www」の部分は、「RedHat」系であれば、「apache」、「Ubuntu」系であれば「www-data」になります)

sudo -u www php artisan config:clear

sudo -u www php artisan cache:clear
 これで、ログが。

/path/to/storage/logs/laravel-YYYY-MM-DD.log
 となり、日替わりでローテーション。  14日分保持することになります。

3. 表示

 しかし、上記の形式にすると。  ログを。

tail -f /path/to/storage/logs/laravel.log
 で見ることができていたのに、当日の日付を入力せにゃならんので、履歴から取り出すこともできない。  そこで、ひと工夫。  ドキュメントルートあたりに、「Makefile」を作成しまして、下記を記述します。  (2行目の先頭は、タブなので注意)

tail:
	tail -f /path/to/storage/logs/laravel-$(DATE).log
 これで、「Makefile」の置いてあるディレクトリで。

make tail
 と入力すれば、ログを表示することができます。

4. 参考サイト

 本ページは、「ChatGPT」軍曹を参考にさせていただきました。

audiobook.jp
AbemaTV 無料体験
健康サポート特集
サウンドハウス
earthcar(アースカー)
EaseUS
アフィリエイトのアクセストレード
TikTok Shop 【リピート用プログラム】
JETBOY
5G CONNECT
ベルリッツ
損保との違い
葬送のフリーレン Prime Video
薬屋の独り言
ハイスピードプラン
ネットオークションの相場、統計、価格比較といえばオークファン
【usus ウズウズ】
U-NEXT
EMEET 1
それがだいじWi-Fi
Amazonギフトカード