定制 rast/activity-log 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

rast/activity-log

最新稳定版本:v1.3

Composer 安装命令:

composer require rast/activity-log

包简介

A simple activity log package that logs to file with model trait and log viewer UI

README 文档

README

A lightweight Laravel package for logging model activities (create, update, delete) into log files with a built-in viewer UI.

Issues Forks Stars Total Downloads
Latest Version Laravel PHP License

📦 Features

  • Logs created, updated, and deleted events.
  • Detects changed attributes only (for update).
  • Logs to dedicated storage/logs/activity-YYYY-MM-DD.log.
  • Includes Laravel Blade log viewer page.
  • Supports filters (date, action, search).
  • Plug-and-play trait HasRastActivityLog.

🚀 Installation

composer require rast/activity-log

Laravel will automatically discover the service provider.

⚙️ Configuration (Optional)

Publish config:

php artisan vendor:publish --tag=activitylog-config

This publishes:

config/activitylog.php

Inside the file:

return [
    'enabled' => true,
    'channel' => 'activity',
    'days' => 30,
];

🧩 Usage

1. Add the Trait to Any Model

use RAST\ActivityLog\Traits\HasRastActivityLog;

class Post extends Model
{
    use HasRastActivityLog;

    protected $fillable = ['title', 'content'];

    protected $logAttributes = ['title', 'content'];
}

For users:

class User extends Authenticatable
{
    use HasRastActivityLog;

    protected $logAttributes = ['name', 'email'];
}

🧪 What Gets Logged?

1. Created Event

Writes full data.

2. Updated Event

Writes only changed fields.

3. Deleted Event

Writes full data.

Example log file:

storage/logs/activity-2025-11-21.log

🔍 View Logs in Browser

Visit:

/activity-log

Includes filters:

  • Date
  • Action (create/update/delete)
  • Search (model name, user ID, record ID)

📁 Log Structure

Each log entry example:

{
  "action": "updated",
  "model": "User",
  "id": 3,
  "changes": {
    "email": {
      "old": "old@mail.com",
      "new": "new@mail.com"
    }
  },
  "user_id": 1
}

📂 File Logging Channel

The package auto-registers a custom channel:

'activity' => [
    'driver' => 'single',
    'path' => storage_path('logs/activity-' . date('Y-m-d') . '.log'),
    'level' => 'info',
],

📜 License

This package is open-sourced under the MIT License.

统计信息

  • 总下载量: 12
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-21