📊 Log Dosyaları Analiz Raporu

📅 Tarih: 1 Aralık 2025, 18:45 | 🎯 Sistem: Multi-Tenant Laravel | 🔍 Analiz: Son 24 Saat

📈 Genel Durum

1.9 MB
Bugünkü Ana Log
10,814
Toplam Log Satırı
387
Tekrar Eden Hata
4
Kritik Sorun

📂 Log Dosyaları ve Boyutları

Ana Log Dizini (storage/logs)

laravel-2025-12-01.log
1.9 MB
10,814 satır - ⚠️ Normalin üzerinde büyük!
queue-health.log
74 KB
Queue izleme logları
tenant-resource-tracking.log
13 KB
Tekrarlı mesajlar var
currency-updates.log
1.5 KB
Normal boyut
Diğer log dosyaları
0-1 KB
12 adet minimal log dosyası

Tenant Özel Loglar (storage/tenantX/logs)

tenant2/logs/tenant-2025-12-01.log
294 KB
İxtif.com (Tenant 2) - AI moderation hataları
tenant1/logs/tenant-2025-12-01.log
0 KB
Tuufi.com (Tenant 1) - Temiz
tenant1001/logs/tenant-2025-12-01.log
0 KB
Muzibu.com (Tenant 1001) - Temiz

🚨 Tespit Edilen Kritik Sorunlar

🔴 1. Database Seçilmemiş Hatası KRİTİK
144
Tekrar Sayısı
%1.3
Toplam Log İçinde

Hata Mesajı:

SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected Connection: tenant Model: ShopProduct, Setting (media queries) View: product-card.blade.php

Neden Oluşuyor:

  • Tenant bağlamı (context) kayboluyor
  • Product card component'i yüklenirken tenant database seçilmiyor
  • Setting modülünde logo çekerken connection yanlış
  • Media query'leri tenant yerine central database'de çalışıyor

Etkilediği Alanlar:

  • Ürün kartlarında görseller yüklenmiyor
  • Site logo'ları gösterilemiyor
  • Sayfa hatası veriyor (500 Error veya boş görsel)
  • Kullanıcı deneyimi kötü etkileniyor
🟡 2. RealTimeResourceTracker Array Hatası YÜKSEK
243
Tekrar Sayısı
%2.2
Toplam Log İçinde

Hata Mesajı:

RealTimeResourceTracker error: Array to string conversion Table: tenant_usage_logs Field: response_time_ms INSERT INTO tenant_usage_logs VALUES (..., ?, ...)

Neden Oluşuyor:

  • response_time_ms alanına array (dizi) gönderiliyor
  • Database bu alanı string veya numeric olarak bekliyor
  • Birden fazla response time değeri toplanıyor ama ortalaması alınmıyor

Etkilediği Alanlar:

  • Tenant kullanım metrikleri kaydedilemiyor
  • Performans izleme eksik kalıyor
  • Resource tracking raporları hatalı
  • Faturalama için kullanım verileri kaybolabilir
🔵 3. Leonardo AI Moderasyon Hatası ORTA

Hata Mesajı (Tenant 2 - ixtif.com):

Leonardo AI: Create generation failed Status: 403 Error: "Content moderated due to referencing no bra in a child context."

Neden Oluşuyor:

  • AI image generation için gönderilen prompt'ta "no bra" kelimesi geçiyor
  • Leonardo AI bunu uygunsuz içerik olarak algılıyor
  • Muhtemelen "no bra" → forklift/ekipman için kullanılıyor ama AI yanlış anlıyor
  • Content moderation sistemi kelime bazlı çalışıyor

Etkilediği Alanlar:

  • Sadece AI görsel üretimi başarısız oluyor
  • Site ana işlevleri etkilenmiyor
  • Kullanıcı manuel görsel yükleyebilir
🟢 4. Tenant Resource Tracking Tekrarı DÜŞÜK

Log Görünümü:

Starting real tenant resource tracking... Resource tracking completed for all active tenants Starting real tenant resource tracking... Resource tracking completed for all active tenants (50 kez tekrar ediyor...)

Neden Oluşuyor:

  • Cron job her 5 dakikada bir çalışıyor
  • Her çalışmada başlangıç ve bitiş mesajı yazıyor
  • Log seviyesi yanlış (INFO yerine DEBUG kullanılmalı)
  • Gereksiz log yazımı disk alanı dolduruyor

Etkilediği Alanlar:

  • Sadece log dosyası boyutunu artırıyor
  • İşlevsel bir sorun yok
  • Temizlik/optimizasyon gerekiyor

📋 Sorun Öncelik Matrisi

Sorun Tekrar Sayısı Kritiklik Etki Alanı Öncelik
Database Seçilmemiş 144 adet/gün KRİTİK Site hatası, broken pages 1
ResourceTracker Array 243 adet/gün YÜKSEK Metric kayıt hatası 2
Leonardo AI Moderation Birkaç adet ORTA Sadece AI image gen 3
Resource Tracking Spam 50 adet/gün DÜŞÜK Log boyutu artışı 4

💡 Çözüm Stratejisi

🔧 1. Database Context Sorunu Çözümü

Yapılacak İşlemler:

  • product-card.blade.php component'ini incele
  • Media query'lerinde tenant context'in korunduğundan emin ol
  • Setting helper'larını kontrol et (site_logo, site_logo_2)
  • Tenant middleware'in doğru sırada olduğunu doğrula
  • Test: Ürün listesi ve logo görsellerini kontrol et
🔧 2. ResourceTracker Veri Tipi Düzeltme

Yapılacak İşlemler:

  • RealTimeResourceTracker sınıfını bul
  • response_time_ms değişkenini incele
  • Array yerine ortalama hesapla: avg($response_times)
  • Database'e numeric değer gönder
  • Test: Tenant usage log kaydını kontrol et
🔧 3. Leonardo AI Prompt Filtresi

Yapılacak İşlemler:

  • AI image generation prompt oluşturma kısmını bul
  • "no bra" gibi hassas kelimeleri tespit et
  • Kelime filtresi ekle veya alternatif terimler kullan
  • Örnek: "no bracket" → "without bracket" gibi
🔧 4. Log Seviyesi Optimizasyonu

Yapılacak İşlemler:

  • tenant-resource-tracking log yazma kodunu bul
  • Log seviyesini INFO → DEBUG değiştir
  • Veya log yazma aralığını 5dk → 15dk yap
  • Log rotation ayarla (günlük logları otomatik sil/arşivle)
🗑️ 5. Log Rotation ve Temizlik

Yapılacak İşlemler:

  • Laravel log kanallarında daily rotation ayarla
  • 7 günden eski logları otomatik sil
  • config/logging.php → days: 7 ayarını kontrol et
  • Cron job ile eski log temizliği (weekly)
# Öneri Konfigürasyon 'daily' => [ 'driver' => 'daily', 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), 'days' => 7, // 7 günlük saklama ]

🎯 Acil Aksiyon Planı

🚀 Hemen Yapılması Gerekenler
Sıra Aksiyon Beklenen Sonuç Süre
1 Database seçim hatasını çöz 144 hata/gün → 0 hata 30 dk
2 ResourceTracker array tipini düzelt 243 hata/gün → 0 hata 20 dk
3 Log rotation ayarla 1.9MB/gün → Auto cleanup 10 dk
4 AI prompt filtresi ekle Moderation hataları sıfırlanır 15 dk
5 Resource tracking log seviyesi ayarla Gereksiz log azalır 5 dk

Toplam Tahmini Süre: ~80 dakika
Beklenen İyileşme: 387 hata/gün → ~0 hata/gün (Neredeyse %100 azalma!)

📌 Sonuç ve Değerlendirme

Genel Durum: Log dosyalarında 387 adet tekrar eden hata tespit edildi. Bunların %93'ü (144 + 243 = 387 hata) iki kritik sorundan kaynaklanıyor.

37.2%
Database Hatası
62.8%
ResourceTracker Hatası

Kritik Tespit:

  • Database context kaybı: Kullanıcı deneyimini doğrudan etkiliyor (kırık görseller, 500 hatası)
  • Metric kayıt hatası: Faturalama ve kullanım takibi için kritik veri kaybı
  • Log boyutu: 1.9MB/gün → 1 hafta = ~13MB (rotation gerekli)
  • Diğer hatalar: Düşük öncelikli, site işlevselliğini etkilemiyor

Önerilen Yaklaşım:
Önce 2 kritik hatayı çöz (Database + ResourceTracker), sonra log optimizasyonu yap. Bu şekilde %93 hata azaltımı sağlanır ve sistem daha stabil hale gelir.