sistemtakip / sdk
SistemTakip PHP SDK — Projelerinizden log ve bildirim gönderin
0.1.0
2026-03-25 10:38 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
SistemTakip PHP SDK. Laravel ve vanilla PHP projelerinizden log, uyarı ve bildirim gönderin.
Kurulum
composer require sistemtakip/sdk
Laravel Kurulumu
Paket, Laravel'in package auto-discovery özelliği ile otomatik olarak kayıt edilir. Ekstra yapılandırma gerekmez.
Config dosyasını yayınlamak için:
php artisan vendor:publish --tag=sistemtakip-config
.env dosyanıza API anahtarınızı ekleyin:
SISTEMTAKIP_API_KEY=st_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Kullanım — Laravel (Facade)
use SistemTakip\Sdk\Facades\SistemTakip; // Bilgi SistemTakip::info('Kullanıcı kaydı', 'Yeni kullanıcı oluşturuldu: ahmet@ornek.com'); // Uyarı SistemTakip::warn('Disk doluluk', 'Disk kullanımı %85 seviyesine ulaştı'); // Hata SistemTakip::error('DB Hatası', 'MySQL bağlantısı kurulamadı'); // Kritik (sesli + yüksek öncelikli push) SistemTakip::critical('Servis Çöktü', 'Ödeme servisi yanıt vermiyor'); // Onay / Başarı SistemTakip::confirm('Deploy Tamamlandı', 'v2.1.0 canlı ortama alındı'); // Debug SistemTakip::debug('Cache Miss', 'Ürün listesi cache\'de bulunamadı'); // Özel seviye SistemTakip::send('Özel Başlık', 'Mesaj', 'warn');
Kullanım — Laravel (Dependency Injection)
use SistemTakip\Sdk\SistemTakip; class OrderController extends Controller { public function __construct(private SistemTakip $st) {} public function store(Request $request) { // ... sipariş işlemleri $this->st->confirm('Yeni Sipariş', "Sipariş #{$order->id} oluşturuldu"); } }
Kullanım — Vanilla PHP
require 'vendor/autoload.php'; use SistemTakip\Sdk\SistemTakip; $st = new SistemTakip('st_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); $st->error('Kritik Hata', 'Sunucu belleği doldu'); $st->confirm('Yedek Tamamlandı', 'Veritabanı yedeği başarıyla alındı');
Gerçek Dünya Örnekleri
Exception Handler (Laravel)
// app/Exceptions/Handler.php use SistemTakip\Sdk\Facades\SistemTakip; public function register(): void { $this->reportable(function (Throwable $e) { if ($this->shouldReport($e)) { SistemTakip::error( get_class($e), $e->getMessage() . ' — ' . $e->getFile() . ':' . $e->getLine() ); } }); }
Queue Job Başarı/Başarısız
use SistemTakip\Sdk\Facades\SistemTakip; class ProcessPaymentJob implements ShouldQueue { public function handle(): void { // ... ödeme işlemi SistemTakip::confirm('Ödeme İşlendi', "Sipariş #{$this->orderId} ödeme başarılı"); } public function failed(Throwable $e): void { SistemTakip::critical('Ödeme Başarısız', "Sipariş #{$this->orderId}: {$e->getMessage()}"); } }
Scheduled Task Takibi
// routes/console.php use SistemTakip\Sdk\Facades\SistemTakip; Schedule::call(function () { // ... görev SistemTakip::info('Cron Çalıştı', 'Günlük rapor oluşturuldu'); })->daily();
Log Seviyeleri
| Seviye | Kullanım | Push Önceliği |
|---|---|---|
info |
Bilgilendirme, başarı logları | Normal |
warn |
Dikkat gerektiren durumlar | Normal |
error |
Hatalar, başarısız işlemler | Yüksek |
critical |
Sistem çöküşleri, acil durumlar | Kritik (sesli) |
confirm |
Onay, tamamlama bildirimleri | Normal |
debug |
Geliştirme amaçlı loglar | Normal |
Hata Yönetimi
use SistemTakip\Sdk\SistemTakipException; try { SistemTakip::error('Test', 'Mesaj'); } catch (SistemTakipException $e) { echo $e->getMessage(); // API hata mesajı echo $e->statusCode; // HTTP durum kodu var_dump($e->details); // API yanıt detayları }
Gereksinimler
- PHP 8.1+
- guzzlehttp/guzzle ^7.0
Lisans
MIT