Farklı Logger uygulamaları, örneğin sahip olabilir PHP İstisna Logger sistemi oluşturmak için nasıl

0 Cevap php

Ben hataları karşılaştığında çeşitli özel İstisnalar atar bir PHP kütüphanesi inşa ediyorum. Ben bu istisnalar giriş ve bir dosya veya bir veritabanında açmış olabilir bu yüzden Logger'un çeşitli uygulamaları sağlamak gerekir.

Istisnalar, onlar yakalanmış olup olmadıklarını yapmalısınız, böylece bir özel durum işleyici bu herhangi bir uygulama hariç. Bu nedenle özel durum sınıfların kendilerini yapıcı tetiklenebilir ihtiyaçlarını günlüğü.

Ben de durum Logger tetikler, phpunit ile, birim test gerekir.

Logger nesneye erişimi olan İstisna nesnelerin en iyi yolu nedir?

Fikirler / yaşadım önerileri şunlardır:

1) Seçilen logger uygulama nesne enjekte (veya İstisnaları atmak nesnelere) İstisna sınıfları test zaman Mock nesne ve her yeni özel durum atma zaman bu nesneler yapıcı Kaydedici nesne enjekte edecektir. Bu Logger nesne biryere etrafında geçirilen da olsa biraz dağınık alabilir.

2) strateji ya da bir fabrika deseni (I kavramları kadar okudum ama bu durumda bu uygulamaya nasıl emin değilim) kullanın.

0 Cevap