温馨提示×

Ubuntu上Laravel日志如何查看

小樊
44
2025-11-19 00:35:13
栏目: 智能运维

Ubuntu上查看Laravel日志的实用方法

一 定位日志文件

  • 默认路径:Laravel 的日志位于项目根目录的 storage/logs/,常见文件为 laravel.log;如使用按日通道,会生成 laravel-YYYY-MM-DD.log 等按日期分割的文件。进入项目根目录后,可用 ls -la storage/logs 查看现有日志文件。

二 常用命令行查看方式

  • 实时查看最新日志:在项目根目录执行
    tail -f storage/logs/laravel.log
    
  • 查看最后 N 行:例如查看最后 100
    tail -n 100 storage/logs/laravel.log
    
  • 按关键字过滤(如 error)
    grep 'error' storage/logs/laravel.log
    # 或结合 tail 只看最近 200 行中的 error
    tail -n 200 storage/logs/laravel.log | grep 'error'
    
  • 将实时日志输出到文件(后台运行)
    tail -f storage/logs/laravel.log > error_logs.txt &
    
  • 如日志写入自定义路径(例如在 .env 中设置了 LOG_FILE=/var/log/laravel.log),将路径替换为你的自定义日志文件即可。

三 调整日志级别与通道便于排查

  • .env 中设置日志级别(如开发环境设为 debug,生产环境建议 errorwarning
    LOG_LEVEL=debug
    
  • 切换通道(如按日生成便于归档)
    LOG_CHANNEL=daily
    
  • 可用的日志级别包括:emergency、alert、critical、error、warning、notice、info、debug。修改 .env 后,通常需要重启应用或让其重新加载配置(如处理一次请求)。

四 日志轮转与清理

  • 使用 logrotate 自动轮转,避免日志无限增大。创建配置文件 /etc/logrotate.d/laravel
    /path/to/your/laravel/storage/logs/*.log {
        daily
        missingok
        rotate 14
        compress
        notifempty
        create 640 www-data adm
    }
    
    说明:每天轮转、保留 14 天、压缩旧日志、文件权限 640、属主 www-data:adm(请按你的实际运行用户/用户组调整)。
  • 如需立即测试轮转或手动清理,可执行
    sudo logrotate -f /etc/logrotate.conf
    # 或按时间清理 14 天前的日志
    find /path/to/your/laravel/storage/logs -type f -name "*.log" -mtime +14 -delete
    
    提示:生产环境优先使用 logrotate 做自动管理,避免直接删除正在写入的日志文件。

0