Debian上Laravel日志管理实用技巧
一 基础配置与查看
ls -la storage/logs、tail -f storage/logs/laravel.log。LOG_CHANNEL=single(或 daily)、LOG_LEVEL=debug(生产建议 error/warning)。APP_DEBUG=false,避免将敏感信息输出到页面。daily 通道并设置保留天数:'days' => 14。二 日志轮转与清理
/var/www/your_project/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
}
说明:daily 每天轮转;rotate 14 保留 14 份;compress 压缩旧日志;create 0640 www-data adm 以 www-data 身份新建日志文件。php artisan log:clear 清空日志;如需保留最近一个:php artisan log:clear --keep-last。三 权限与常见故障排查
sudo chown -R www-data:www-data storage/logssudo chmod -R 755 storage/logswww-data)执行定时任务:su www-data -s /bin/bash -c "php artisan schedule:run";config/logging.php 的 daily 通道设置 permission 项(如 0640)以统一新建文件权限。四 高级用法与架构建议
stack 通道,将日志同时输出到本地与远程(如 Logstash、rsyslog),便于统一检索与告警。critical 等高优先级日志单独输出并延长保留期,例如:'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'critical'],
],
'critical' => [
'driver' => 'single',
'path' => storage_path('logs/critical.log'),
'level' => 'critical',
'days' => 90,
],
gzip),使用 zgrep 直接检索压缩包内容,降低成本并提升查询效率。