centos

centos系统中laravel日志管理技巧

小樊
51
2025-09-03 17:11:44
栏目: 智能运维

一、基础配置

  1. 日志文件位置
    默认存放在项目 storage/logs 目录,可通过 ls -l storage/logs 查看文件。
  2. 日志级别设置
    .env 文件中修改 LOG_LEVEL(如 errordebug),或通过 config/logging.php 配置通道级别。

二、日志轮转与清理

  1. 使用 Logrotate 工具
    • 创建配置文件 /etc/logrotate.d/laravel,内容示例:
      /path/to/laravel/storage/logs/*.log {
          daily
          rotate 14
          compress
          missingok
          create 640 www-data adm
      }
      
      daily 每天轮转,rotate 14 保留14天,compress 压缩旧日志)。
    • 手动测试配置:sudo logrotate -f /etc/logrotate.d/laravel
  2. 手动清理
    • 删除所有日志:rm -rf storage/logs/*.log
    • 按天数清理:php artisan log:clear --days=30(需在 daily 驱动中配置 retentionDays)。

三、实时监控与分析

  1. 实时查看日志
    使用 tail -f storage/logs/laravel.log 跟踪最新日志。
  2. 高级分析工具
    • ELK Stack:Elasticsearch 存储日志,Logstash 解析,Kibana 可视化。
    • Logwatch:生成日志报告,支持按规则过滤(如 logwatch --output text)。

四、远程日志与安全

  1. 远程日志传输
    config/logging.php 中配置 syslogerrorlog 驱动,将日志发送至远程服务器。
  2. 权限管理
    确保 storage/logs 目录权限为 755,文件所有者为 Web 服务器用户(如 www-data)。

五、代码级日志记录

使用 Laravel 日志门面 Log 记录不同级别日志,例如:

use Illuminate\Support\Facades\Log;
Log::info('用户登录成功', ['user_id' => 1]);
Log::error('数据库连接失败', ['exception' => $e]);

以上技巧可有效提升 Laravel 在 CentOS 系统中的日志管理效率,结合工具实现自动化与可视化。

0
看了该问题的人还看了