承接 novay/logify 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

novay/logify

最新稳定版本:0.0.3

Composer 安装命令:

composer require novay/logify

包简介

Logify is a Laravel package for logging activities with enhanced features.

README 文档

README

Logify adalah paket Laravel yang dirancang untuk mempermudah pencatatan aktivitas dalam aplikasi Anda. Paket ini menyediakan cara mudah untuk mencatat aktivitas pengguna, sehingga lebih mudah untuk melacak perubahan dan tindakan yang dilakukan oleh pengguna.

Fitur Utama

  • Pencatatan Aktivitas: Logify secara otomatis mencatat aktivitas pengguna.
  • Dapat Disesuaikan: Mudah diperluas agar sesuai dengan kebutuhan aplikasi Anda.
  • Integrasi: Bekerja dengan mulus dengan sistem logging Laravel.
  • Log Viewer: Menyediakan komponen Livewire siap pakai untuk menampilkan dan memfilter log.

Instalasi

Anda dapat menginstal paket ini melalui Composer:

composer require novay/logify

Penggunaan

Untuk menggunakan Logify, tambahkan trait LogActivity ke komponen atau controller Anda. Trait ini menyediakan serangkaian fungsi helper untuk mencatat aktivitas, termasuk:

  • logCreated(string $moduleName, array $createdData): Mencatat peristiwa pembuatan data baru.
  • logUpdated(string $moduleName, array $oldData, array $newData): Mencatat peristiwa pembaruan data, hanya menampilkan field yang berubah.
  • logDeleted(string $moduleName, array $deletedData): Mencatat peristiwa penghapusan data.
  • log(string $moduleName, string $message, string $level, array $context): Fungsi serbaguna untuk mencatat pesan log kustom dengan level tertentu.
  • getCauserContext(): Mengambil detail pengguna yang saat ini melakukan aksi (nama, ID, IP).

Berikut adalah contoh penggunaan di dalam komponen Livewire:

namespace App\Http\Livewire;

use Livewire\Component;
use Novay\Logify\Traits\LogActivity;
use Illuminate\Support\Facades\Log;

class PostForm extends Component
{
    use LogActivity;

    public function createPost()
    {
        // ... logika validasi & penyimpanan data ...

        $this->logCreated('Post', $newPost->toArray());
    }

    public function updatePost()
    {
        // ... logika validasi & pembaruan data ...

        $this->logUpdated('Post', $oldPost->toArray(), $updatedPost->toArray());
    }

    public function deletePost()
    {
        // ... logika penghapusan data ...

        $this->logDeleted('Post', $deletedPost->toArray());
    }

    public function handleCustomError(\Exception $e)
    {
        // Contoh penggunaan fungsi log()
        $this->log('Post', 'Gagal memproses post', 'error', [
            'exception' => $e->getMessage(),
            'user_input' => $this->all(),
        ]);

        // Contoh langsung menggunakan Log facade dengan channel 'logify'
        Log::channel(config('logify.channel.name'))->error('Galat!: ' . $e->getMessage(), array_merge($this->getCauserContext(), [
            'exception'  => $e->getMessage(),
            'input_data' => $this->all(),
        ]));
    }
}

Konfigurasi

Anda dapat mempublikasikan file konfigurasi menggunakan perintah berikut:

php artisan vendor:publish --provider="Novay\Logify\LogifyServiceProvider"

File konfigurasi ini (config/logify.php) memungkinkan Anda menyesuaikan channel logging yang digunakan oleh paket. Secara bawaan, konfigurasi akan menggunakan Monolog\Formatter\JsonFormatter untuk memastikan output log terstruktur dengan baik dan mudah dibaca oleh log viewer.

Contoh config/logify.php:

<?php

return [
    'channel' => [
        'name' => env('LOGIFY_CHANNEL_NAME', 'logify'),
        'driver' => 'daily',
        'path' => storage_path('logs/logify.log'),
        'level' => env('LOGIFY_CHANNEL_LEVEL', 'info'),
        'days' => 14,
        'formatter' => Monolog\Formatter\JsonFormatter::class,
        'formatter_with' => [
            'batchMode' => Monolog\Formatter\JsonFormatter::BATCH_MODE_NEWLINES,
            'appendNewline' => true
        ],
    ],
];

Log Viewer

Logify menyediakan view bawaan untuk log viewer dalam bentuk komponen Livewire. Anda dapat menyesuaikannya dengan mempublikasikan views paket:

php artisan vendor:publish --provider="Novay\Logify\LogifyServiceProvider"

Setelah itu, Anda dapat memodifikasi view yang terletak di resources/views/vendor/logify/log-viewer.blade.php.

Anda dapat menyertakan log viewer di template Blade:

<livewire:logify::log-viewer />

Lisensi

Logify adalah perangkat lunak open-source yang dilisensikan di bawah Lisensi MIT.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-10