PHP günlükleri - dosyası vs mysql

4 Cevap php

Ben PHP sitesi için kullanıcı eylem günlüğü kurma sürecinde duyuyorum.

Eğer mysql veya metin / log dosyaları saklayarak tavsiye eder misiniz?

4 Cevap

Bu ile ne yapmak istediğinize bağlıdır, diyorum ki:

  • Eğer yardımcı olabilir MySQL saklayarak, günlükleri veri almak gerekiyorsa
  • Sadece kullanmak hemen hemen hiç bazı veriler var (ama illegal sitenize veya bu gibi şeyler yapılır şeyin durumunda gerekir) gerekiyorsa, bir dosya yeterince iyi olabilir

Çok şeyler yavaşlatmak değil, aynı zamanda (ben trafik biraz ile bazı web sitelerinde, nerede anında DB veri saklamak için akıllıca olmazdı ki kullandım) hem de kullanabilirsiniz:

  • gün boyunca, bir dosyada günlükleri saklamak
  • ve günde bir kez (veya bir saat sonra, size fikir olsun), bu dosyaları ayrıştırmak için bir toplu kullanın ve Veritabanı veri koymak

Bu şekilde, DB verileri her zaman sokmayın; ve (bir gün veya bir saat geçti şartıyla) yapabilirim ihtiyacınız olan tüm sorgular

Ben gerçek 'fiziksel' günlüğü soyutlamak Zend_Log gibi bir şey kullanarak öneriyoruz. Bu şekilde her zaman durumun bir nedenle veya başka için değiştirmesi halinde, daha sonra çok kolay backends değiştirebilirsiniz.

Idari bir alanda, örneğin içinde günlüğünü görüntülemek için daha kolaydır beri ben MySQL öneriyoruz. Bunu o zaman da ilginç öğeleri bulmak için günlüğü aracılığıyla farklı bayraklar, yani hata seviyeleri ve filtre ayarlayabilirsiniz. Ayrıca kolayca, bu veriler üzerinde log dosyaları whan daha kolay bir istatistik işlevi temel olabilir.

Ama sizin günlüğü kullanmak nasıl bağlıdır, ve kimler tarafından kullanılmalıdır sanırım. Ham log dosyaları biraz geeky :)

En günlük analiz araçları ayrıştırmak ham günlük dosyası gerekir. Eğer günlükleri kendilerini arıyorsanız, bir db (koşullar pascal söyledi ile) daha iyi olabilir. Bazı gerçek analiz yapmak planlıyorsanız Ama günlük dosyalarını kullanmak daha kolay olacaktır.