Laravel 預設使用 daily 日誌驅動,按日期生成文件(laravel-YYYY-MM-DD.log),默認保留 7 天。若需調整保留天數(如 30 天),只需在 config/app.php 添加一行配置並重啟服務。
// config/app.php
return [
// ...
'log' => env('LOG_CHANNEL', 'daily'),
'log_max_files' => 30, // 新增此行,單位:天
// ...
];
config/app.php 添加 'log_max_files' => 30。systemctl reload php-fpm 或 php artisan octane:reload。storage/logs/ 下將保留最近 30 個日誌文件,超過部分自動清理。Illuminate\Log\LogManager 在創建 DailyLogHandler 時讀取 config('app.log_max_files'),傳遞給 Monolog 的 RotatingFileHandler 構造函數 $maxFiles 參數。Monolog 會在每次寫入時檢查文件數量,超過則刪除最舊文件。
syslog 或 stack(多通道)驅動,接入 ELK/EFK 集中分析。APP_LOG_LEVEL=debug(開發)、error(生產)。Formatter 脫敏手機、身份證、Token 等字段。一行配置解決日誌留存合規需求,避免磁盤被無限增長的日誌佔滿。