Kaydedilmesi için, ben MySQL saklamak ya da olmalıdır. Txt?

7 Cevap php

Ben bir cURL senaryo üzerinde çalışıyoruz ve nihayet bittim, yay! Temel olarak, şu anda, ben hata / başarı mesajı kapma ve saklayarak, ama ben bunu nasıl saklamak gerekir ki? Ben bir. Txt dosyası veya MySQL içinde saklamak gerekir. Verimli bir / yaygın bir uygulama nedir?

EDIT: I already have a MySQL database. I do not mind taking a little more time. After reading the answers, it sounds like I should store it in a database (I guess a new table). Should I store it as varchar? or should I create a SQLite database just for error logging?

7 Cevap

Bu tamamen size sonuçları ile yapmayı planlıyorsanız ne bağlıdır. Sadece bir sorun oluştuğunda daha sonra bakmak için bir şey yapmak istiyorsanız, bir metin dosyası muhtemelen iyi çalışır. Kolayca belirli tarih / zamanlarda falan dayalı sonuçlar ile raporlar oluşturmak veya arama yapabilmek istiyorsanız Ancak, küçük bir SQL veritabanı muhtemelen işe. Ben bir gün mesajlarının bütün bir ton kayıt olmak için gidiyoruz sürece sadece SQLite kullanarak öneririm rağmen.

Sadece bir hata / başarı mesajı saklıyorsanız, daha sonra tam teşekküllü bir ilişkisel veritabanı sistemi bana biraz üst üzerinde görünüyor.

Sadece bir hata / başarı mesajı kapma ediyorsanız, sadece bir günlüğüne (metin) dosyası için saklayın. Komut sık sık bu çalışmıyor ve başka hiçbir yerde başarı / hata mesajı başvurmak gerekmez Özellikle.

Ben veritabanı ile gitmek istiyorum. Bu bir metin dosyasına daha fazla çaba (aslında, daha az olabilir) gerektirir ve ekstra işlevsellik çok olsun. Örneğin, bu hataları görüntülemek sağlayan bir sayfa olması güzel olmaz mıydı? Belki bazı sıralama yeteneği ile? Ön Biraz çaba çoğu zaman, yolda epey sıkıntı kaydeder.

Herhangi bir modern web uygulaması, metin dosyalarını bir şey saklamak kaçınmalısınız. Kullanmak için iyi bir nedeni var, mesajlar kaçmak tutarlı sınırlayıcılarınıda sağlamak, vb bazı çemberler üzerinden atlamak sürece metin dosya depoları neredeyse tek yönlü (veri almak için, yani kolay, ama geri dışarı veri almak için çok değil) Bir metin dosyası, ve bu, dediğim gibi, daha sonra sizi ısırabilir.

Daha sonra hata analizi projesi çeşit için büyük planları yoksa, metin dosyası ile gitmek. Başarısızlık, biraz daha az kod ve daha az baş ağrısı daha az puan.

Eğer akıllı bir günlük dosyası (metin) biçiminde inşa eğer isterseniz, her zaman daha sonra bir veritabanı içine geri koymak unutmayın.

Ben bu hata mesajları ile ne yapmak istediğinize bağlıdır söyleyebilirim. Eğer sadece çok az çaba ile kod olabilir ki bir şey hızlı ve kirli istiyorum ben metin dosyası ile giderdim.

Ancak veritabanına hareketli bazı yararları bir çok teklif yok. Ondan bilgi almak ve SQL biraz ile çok güzel bir şekilde görüntüleyebilirsiniz. Ancak bu sizin açınızdan daha fazla kodlama ve dağıtım çaba sürer hissediyorum.

Sadece hataları saklamak istiyorsanız, bu yüzden metin dosyası ile kalmak demek. Eğer daha gelişmiş özellikleri istiyorsanız kurulum için veritabanını zaman alacaktı.

Eğer bağlantıların yüzbinlerce taramasını olacak bir örümcek inşa ediyoruz, ve size indirme girişimleri ve / veya her bir URL sürünerek durumunu izlemek istiyorsanız, ben girişimleri ve tarihini yeniden denemek için adresler eşleştiren bir tablo yaratacak son girişimi. HTTP dönüş durumu bir tinyint(1) temsil başarı daha fazla yararlı olmadığı sürece ben, veritabanında hata mesajlarını saklamak olmaz.

Eğer adresler mütevazı bir kısmını tarama ve sadece ek teşhis ihtiyacınız varsa, muhtemelen metin dosyaları ile sopa istiyorum. Metin hata günlükleri kolayca yönetilebilir ve otomatik olarak pek çok uygulama tarafından iptal edilebilir.