Laravel日志路径修改后未生效问题求助
Laravel日志未写入指定project.log的排查方案
1. 修正日志通道路径配置
你的配置里默认使用stack通道,该通道关联的是daily通道,当前daily通道的日志路径是storage_path('logs/laravelkd.log'),并非目标的project.log。需要修改对应通道的path参数:
// 修改daily通道的路径为project.log 'daily' => [ 'driver' => 'daily', 'path' => storage_path('logs/project.log'), 'level' => 'debug', 'days' => 14, ],
如果偏好单文件日志驱动,也可以直接将默认通道改为single,并同步修改single通道的路径:
'default' => env('LOG_CHANNEL', 'single'), 'single' => [ 'driver' => 'single', 'path' => storage_path('logs/project.log'), 'level' => 'debug', ],
2. 清除Laravel配置缓存
修改配置后,Laravel可能仍加载旧缓存,执行命令清除缓存:
php artisan config:clear php artisan cache:clear
3. 确认日志目录权限
PHP-fpm进程需要拥有storage/logs目录的写入权限,执行以下命令调整权限(根据服务器实际运行用户调整www-data):
chown -R www-data:www-data storage/logs chmod -R 755 storage/logs
4. 重启PHP-fpm服务
配置和权限修改后,重启PHP-fpm使设置生效:
# Ubuntu/Debian系统 sudo systemctl restart php-fpm # CentOS/RHEL系统 sudo systemctl restart php-fpm.service
5. 手动测试日志写入
在代码中添加测试代码,验证日志是否正常写入:
\Log::debug('测试日志写入');
之后查看storage/logs/project.log是否存在该测试日志。
6. 排查PHP-fpm错误日志
若以上步骤无效,查看PHP-fpm错误日志定位问题:
# Ubuntu/Debian示例路径 tail -f /var/log/php7.4-fpm.log # CentOS/RHEL示例路径 tail -f /var/log/php-fpm/www-error.log
内容的提问来源于stack exchange,提问作者Antony Graceson
相关产品推荐
相关产品推荐

