yahyakemal/advanced-logger

Laravel için gelişmiş bir log sistemi

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/yahyakemal/advanced-logger

v1.0.2 2025-10-14 08:01 UTC

This package is auto-updated.

Last update: 2025-10-14 08:02:52 UTC


README

Laravel için gelişmiş loglama ve izleme yöneticisi. Logları ortam bazlı olarak farklı kanallara (veritabanı, Slack) yönlendirir.

🚀 Özellikler

  • Ortam Bazlı Yapılandırma: Production, staging, local ortamları için farklı log kanalları
  • Çoklu Kanallar: Veritabanı, Slack, dosya loglama desteği
  • Seviye Bazlı Filtreleme: DEBUG, INFO, WARNING, ERROR, CRITICAL seviyeleri
  • Otomatik Temizleme: Eski logları temizlemek için Artisan komutu
  • Laravel Uyumlu: Mevcut Laravel loglama sistemini genişletir

📦 Kurulum

Composer ile Kurulum

composer require yahyakemal/advanced-logger

Laravel'e Kaydetme

Laravel 5.5+ otomatik paket keşfi destekler. Manuel kayıt için:

config/app.php:

'providers' => [
    // ...
    YahyaKemal\AdvancedLogger\AdvancedLoggerServiceProvider::class,
],

Config Yayınlama

php artisan vendor:publish --tag=advanced-logger-config

Migration Çalıştırma

php artisan migrate

⚙️ Yapılandırma

.env Dosyası

# Slack ayarları
ADVANCED_LOGGER_SLACK_WEBHOOK=https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK
ADVANCED_LOGGER_SLACK_CHANNEL=#logs
ADVANCED_LOGGER_SLACK_USERNAME=Laravel Logger
ADVANCED_LOGGER_SLACK_EMOJI=:boom:

# Database ayarları
ADVANCED_LOGGER_TABLE=application_logs

# Temizleme ayarları
ADVANCED_LOGGER_CLEANUP_ENABLED=true
ADVANCED_LOGGER_CLEANUP_DAYS=30

config/advanced-logger.php

return [
    'default_channel' => env('ADVANCED_LOGGER_CHANNEL', 'daily'),

    'environments' => [
        'production' => [
            'channels' => [
                'slack' => [
                    'level' => 'error',
                    'enabled' => true,
                ],
                'database' => [
                    'level' => 'warning',
                    'enabled' => true,
                ],
            ],
        ],
        'local' => [
            'channels' => [
                'database' => [
                    'level' => 'debug',
                    'enabled' => false,
                ],
            ],
        ],
    ],

    'database' => [
        'connection' => env('DB_CONNECTION', 'mysql'),
        'table' => env('ADVANCED_LOGGER_TABLE', 'application_logs'),
    ],

    'slack' => [
        'webhook_url' => env('ADVANCED_LOGGER_SLACK_WEBHOOK'),
        'channel' => env('ADVANCED_LOGGER_SLACK_CHANNEL', '#logs'),
        'username' => env('ADVANCED_LOGGER_SLACK_USERNAME', 'Laravel Logger'),
        'emoji' => env('ADVANCED_LOGGER_SLACK_EMOJI', ':boom:'),
    ],

    'cleanup' => [
        'enabled' => true,
        'days' => 30,
    ],
];

🎯 Kullanım

Temel Kullanım

use Illuminate\Support\Facades\Log;

// Normal Laravel loglama (artık gelişmiş!)
Log::info('Kullanıcı giriş yaptı', ['user_id' => 123]);
Log::error('Database bağlantı hatası', ['error' => $exception->getMessage()]);
Log::critical('Sistem çöktü!', ['memory_usage' => memory_get_usage()]);

LoggerManager ile Doğrudan Kullanım

use YahyaKemal\AdvancedLogger\LoggerManager;

$logger = app('advanced-logger');
$logger->log('error', 'Özel hata mesajı', ['context' => 'değer']);

Slack Bildirimleri

Production ortamında ERROR seviyesi ve üzeri loglar otomatik olarak Slack'e gönderilir: