Go Dilinde Concurrency

956 More

Projedeki Git Dosyaları Nasıl Silinir?

1 5,726 More

yTheme

4 2,273 More

Sunucu Güvenliği | SSH (Secure Shell) Kullanımı

2 1,511 More

Truemag

  • PHP
  • Golang
  • Laravel
  • Linux
  • SQL
  • SEO
  • WordPress
  • Diğer
    • Yazılım
    • Javascript
    • Css/XHtml/W3C
    • Genel
    • Tanıtım
    • Ajax
  • ANASAYFA
  • HAKKIMDA
  • SPONSORLUK
  • ARŞİV
  • İLETİŞİM
  • BENİMLE ÇALIŞMAK İSTER MİSİNİZ?

Laravel | Veritabanı Sorgularını Analiz Etmek

laravel

Laravel çok geniş kapsamlı bir PHP çatısı. Bu nedenle de küçük projelerden ziyade büyük projelerde özellikle tercih edilmekte. Tabi proje büyüyünce dertleri de büyüyor. Özellikle de performansı artırmak için sistemde yapılan her veritabanı sorgusunu takip etmeniz, hesaba katmanız gerekiyor. İşte Laravel uygulamamızın yapmış olduğu bu veritabanı sorgularını laravel.log kullanarak nasıl analiz edebileceğimizi bu yazıda kısaca anlatmaya çalıştım.

Laravel Veritabanı Sorgularını İncelemek

Yukarıda bahsettiğim sorguları takip etmek içn Laravel/App/Providers klasöründerki AppServiceProvider.php dosyasına ufak bir müdahalede bulunacağız. Eğer başka herhangi bir müdahale yapmadıysanız dosyanın başlangıçtaki hali yorum satırları çıkarıldıktan sonra aşağıdaki gibidir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
 
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        //
    }
 
    public function register()
    {
        //
    }
}

Dosyayı düzenleyerek şu hale getiriyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
namespace App\Providers;
 
use Illuminate\Support\ServiceProvider;
use DB;
use Log;
 
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        DB::listen(function($query) {
            Log::info(
                $query->sql,
                $query->bindings,
                $query->time
            );
        });
    }
 
    public function register()
    {
        //
    }
}

Tüm işlem bu kadar. Artık projemizde yapılan tüm sorgular storage/logs/laravel.log dosyasına aşağıdaki gibi kaydedilmektedir.

1
2
3
4
5
[2017-11-03 10:14:26] local.INFO: select * from `posts` where `slug` = ? limit 1 ["deneme-yazi"]
[2017-11-03 10:14:27] local.INFO: select * from `photos` where `photos`.`post_id` in (?) [5]
[2017-11-03 10:14:27] local.INFO: select * from `specs` where `specs`.`post_id` = ? and `specs`.`post_id` is not null [5]
[2017-11-03 10:14:27] local.INFO: select * from `catalogs` where `catalogs`.`post_id` = ? and `catalogs`.`post_id` is not null [5]
[2017-11-03 10:14:27] local.INFO: select * from `settings`
Kas 3, 2017Erhan Yakut
Cloud Sunucu
Laravel | Konsola Girmeden Kolayca Cache TemizlemeE-ticaret Sitesi Yaparken Dikkat Edilmesi Gerekenler
You Might Also Like
 
Laravel ile Ziyaretçi Defteri Yapımı
 
Laravel | Konsola Girmeden Kolayca Cache Temizleme
Erhan Yakut
2 years ago Laravel, PHPLaravel, laravel log dosyası, laravel log tutma, laravel sorguları görme, laravel veritabanı1,838
Sponsorlar

sponsor

sponsor

sponsor

sponsor
Bağlantılar
  • Beyazıt Kölemen
  • Domatessuyu
  • Lezzetli Robot Tarifleri
  • Ofizzo
  • PHP Dersleri
Random Posts
Hoplayanmanda.Com
Pratik WordPress Çözümleri
Laravel İletişim Formu ile Eposta Gönderme
WordPress wp-includes Klasörünün Korunması
Audio Post Format With Self-Hosted Media
Hakkımda

Bilişim Teknolojileri alanında içerik üretmek üzere oluşturulmuş olan Yakuter.com 2006 yılında Erhan Yakut tarafından hayata geçirilmiştir. devamını okuyun…

Cloud Sunucu Desteği

Bulut Sunucu

2006-2019 © Yakuter