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
Requires
- php: ^8.0
- monolog/monolog: ^3.0
Suggests
- illuminate/support: Laravel framework support (^9.0|^10.0|^11.0)
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: