behzad/file-logger
最新稳定版本:v1.0.8
Composer 安装命令:
composer require behzad/file-logger
包简介
A lightweight Laravel package for logging model changes in files with restore capabilities.
README 文档
README
یک پکیج سبک و کاربردی برای لاگ کردن تغییرات مدلها در فایلهای JSON
نصب
✨ ویژگیها
- 🔍 لاگ خودکار تغییرات - تمام عملیات Create, Update, Delete
- 💾 ذخیره در فایل JSON - بدون نیاز به دیتابیس اضافی
- 🔄 بازیابی رکوردهای حذف شده - Restore از روی لاگها
- 👤 ثبت اطلاعات کاربر - User ID, IP, User Agent
- ⚙️ کانفیگ انعطافپذیر - تنظیمات کامل و قابل شخصیسازی
- 🎯 Exclude فیلدها - عدم لاگ فیلدهای حساس مثل password
- 📊 File Rotation - مدیریت خودکار سایز فایلها
- 🚀 Performance بالا - بدون تاثیر منفی روی عملکرد
- 🛠️ Artisan Commands - دستورات مفید برای مدیریت لاگها
- 🎨 Facade Support - استفاده آسان با Facade
📦 نصب
نصب از طریق Composer
composer require behzad/file-logger
انتشار فایل کانفیگ
php artisan vendor:publish --tag=file-logger-config
🚀 راهاندازی سریع
گام 1: اضافه کردن Trait به مدل
<?php <<<<<<< Updated upstream namespace App\Models; use Illuminate\Database\Eloquent\Model; ======= php artisan vendor:publish --tag=file-logger-config >>>>>>> Stashed changes use Behzad\FileLogger\Traits\FileLoggerTrait; class Post extends Model { use FileLoggerTrait; protected $fillable = ['title', 'content', 'status']; } <<<<<<< Updated upstream
گام 2: استفاده خودکار
// Create - لاگ میشود $post = Post::create([ 'title' => 'عنوان پست', 'content' => 'محتوای پست', 'status' => 'published' ]); // Update - لاگ میشود $post->update(['title' => 'عنوان جدید']); // Delete - لاگ میشود $post->delete();
📖 مستندات کامل
🔧 تنظیمات (Configuration)
فایل config/file-logger.php:
<?php return [ // مسیر ذخیره لاگها 'storage_path' => storage_path('logs/file_logger'), // فرمت ذخیره (json یا line) 'format' => 'json', // لاگ کردن IP کاربر 'log_ip' => true, // لاگ کردن User Agent 'log_user_agent' => true, // فیلدهایی که نباید لاگ شوند 'excluded_fields' => [ 'password', 'remember_token', 'api_token', ], // حداکثر سایز فایل لاگ (MB) 'max_file_size' => 10, // فرمت تاریخ 'date_format' => 'Y-m-d H:i:s', ];
📝 ساختار لاگ
{
"event_type": "updated",
"model": "App\\Models\\Post",
"model_id": 123,
"old_values": {
"title": "عنوان قدیمی",
"status": "draft"
},
"new_values": {
"title": "عنوان جدید",
"status": "published"
},
"user_id": 1,
"ip": "192.168.1.1",
"user_agent": "Mozilla/5.0...",
"timestamp": "2025-10-18 14:30:45"
}
🎯 استفاده پیشرفته
1️⃣ بازیابی رکوردهای حذف شده
روش اول: استفاده از مدل
// بازیابی تمام رکوردهای حذف شده $result = Post::restoreFromFile(); // نتیجه: // [ // 'success' => true, // 'restored_count' => 5, // 'records' => [...] // ]
روش دوم: استفاده از Facade
use Behzad\FileLogger\Facades\FileLogger; $result = FileLogger::restoreFromFile(Post::class);
روش سوم: دستور Artisan
php artisan file-logger:restore "App\Models\Post"
2️⃣ مشاهده لاگها
$logs = Post::getLogs();
3️⃣ پاک کردن لاگها
Post::clearLogs();
🛠️ دستورات Artisan
# پاک کردن تمام لاگها (با تایید) php artisan file-logger:clear # پاک کردن لاگ یک مدل خاص php artisan file-logger:clear Post # پاک کردن لاگ با نام کامل کلاس php artisan file-logger:clear "App\Models\User"
بازیابی از لاگ
# بازیابی رکوردهای حذف شده php artisan file-logger:restore "App\Models\Post"
🤝 مشارکت
مشارکتها همیشه خوشآمد هستند! لطفاً: Repository را Fork کنید یک Branch جدید بسازید (git checkout -b feature/amazing-feature) تغییرات را Commit کنید (git commit -m 'Add amazing feature') به Branch خود Push کنید (git push origin feature/amazing-feature) یک Pull Request باز کنید
📄 لایسنس
این پکیج تحت لایسنس MIT منتشر شده است.
👨💻 توسعهدهنده
📧 Email: Amirbehzadofficial@gmail.com 🐙 GitHub: @Amirbehzad11
=======
2.بازیابی رکورد های حذف شده
Stashed changes
behzad/file-logger 适用场景与选型建议
behzad/file-logger 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 10 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「logging」 「Audit」 「laravel」 「eloquent」 「file-logger」 「model-changes」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 behzad/file-logger 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 behzad/file-logger 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 behzad/file-logger 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Log adding/updating/deleting of elements
Doctrine ORM provider for the auditor audit-log library.
A Zend Framework module that sets up Monolog for logging in applications.
PB Web Media Audit Bundle for Symfony
Asynchronous Sentry for Symfony - Fire and forget
Stackdriver handler for Monolog (codeinternetapplications/monolog-stackdriver Fork).
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 23
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-18