Ubuntu下Laravel日志管理实用技巧
一 基础定位与快速查看
ls -la storage/logs查看。实时监控可用tail -f storage/logs/laravel.log,或同时跟踪多个文件tail -f file1.log file2.log;按关键字检索可用grep -n "ERROR" storage/logs/laravel.log。这些命令适合排查500错误、异常堆栈与业务告警。二 日志级别与通道配置
LOG_LEVEL=error(可选值:emergency、alert、critical、error、warning、notice、info、debug),生产环境建议设为error或warning**以减少日志量。'channels' => [
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
'stack' => [
'driver' => 'stack',
'channels' => ['single', 'daily'],
'ignore_exceptions' => false,
],
],
Log::info('用户登录', ['id' => $user->id]);、Log::error('DB连接失败', ['exception' => $e]);,便于检索与聚合分析。三 日志轮转与自动清理
/path/to/your/laravel/storage/logs/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
}
说明:每天轮转、保留14天、压缩旧日志、空文件不轮转、按www-data:adm创建新文件(请按实际运行用户/组调整)。Ubuntu默认已安装logrotate。
0 1 * * * find /path/to/your/laravel/storage/logs -type f -name "*.log" -mtime +14 -exec rm -f {} \;
php artisan log:clear(注意这会清空日志,务必谨慎并在合适时机执行)。四 权限与运行用户
chmod -R 755 storage/logs
chown -R www-data:adm storage/logs
五 集中化与结构化实践