Laravel は、アプリケーションで発生するさまざまなイベントを記録できる柔軟なログ システムを提供する優れた PHP フレームワークです。ただし、長期間ログを記録すると、ログ ファイルが大きくなりすぎ、ディスク領域を占有し、サーバーのパフォーマンスに影響を与える可能性があります。この場合、すべてのログ ファイルをクリアしてディスク領域を解放する必要があります。この記事では、Laravel ですべてのログファイルをクリアする方法を説明します。
Laravel では、すべてのログ ファイルは storage/logs ディレクトリに保存されます。
次のコマンドを使用してログ ファイルのパスを見つけることができます:
php artisan config:cache php artisan config:clear php artisan config:cache php artisan config:clear
これの目的は、Laravel の設定が正しくロードされていることを確認することです。
その後、次のコマンドを使用してログ ファイルのパスを見つけることができます:
php artisan tinker
Tinker では、次のコマンドを使用してログ ファイルのパスを確認できます:
use IlluminateSupportFacadesLog; Log::getLogger()->getHandlers()[0]->getUrl();
この方法で Tinker でログ ファイルのパスを取得します。後で使用できるようにパスをコピーして保存します。
次のコマンドを使用して、すべてのログ ファイルをクリアできます:
php artisan tinker
Tinker では、次のコマンドを使用して、すべてのログ ファイルをクリア:
use IlluminateSupportFacadesFile; File::cleanDirectory('/path/to/logs');
/path/to/logs を、保存したログ ファイルのパスに置き換えてください。
これにより、Laravel のすべてのログ ファイルがクリアされます。特定の日付のログのみをクリアしたい場合は、次の構文を使用できます (たとえば、2021 年 1 月のログを削除します):
use IlluminateSupportFacadesFile; File::cleanDirectory('/path/to/logs', 31, '2021-01-');
注: /path/to/logs をログ ファイルに置き換えてください。パス、31 は週末に丸めた日数、2021-01- は削除するログの日付です。
すべてのログ ファイルを手動でクリアするのは、頻繁に行う必要があるため、面倒な場合があります。この状況を回避するには、ログ ファイルを自動的にクリアするようにスケジュールされたタスクを設定します。
サーバー上の crontab ファイルを編集して、次の行を追加します。
0 0 * * * php /path/to/artisan log:clear > /dev/null 2>&1
これにより、毎日午前 0 時にすべてのログが自動的にクリアされます。 /path/to/artisan を、artisan ファイルのパスに置き換えます。
この記事では、Laravel のすべてのログファイルをクリアする方法を説明しました。ログを手動でクリアすることも、スケジュールされたタスクを設定してログを定期的にクリアすることもできます。これにより、ディスク領域の使用量が削減され、サーバーのパフォーマンスが向上します。
以上がlaravelはすべてのログをクリアしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。