Zamanında ayarı Log4Php özellikleri

1 Cevap php

Her modül içinde birden fazla modül ve çeşitli ayarları içeren bir PHP uygulama var. Ben log4php kullanarak günlüğünü etkinleştirmek istiyorum, ama her bir modül farklı ayarları (yani Giriş seviyesi, günlük dosyası, vb) sahiptir. Bu ayarlardan bazıları son kullanıcılar (günlüğü seviyesi) tarafından anında değiştirilmesi gerekiyor, ve ben veritabanında bu özellikleri saklamak istiyorum.

Şu anda dinamik loglevel ayarlayabilirsiniz. Ben dinamik olsa diğer özelliklerini nasıl ayarlanacağını belirlemek olamaz. Log4php yapılandırmasına Belgeler neredeyse sadece özellikleri / xml dosyaları üzerinden yapılır - bu tüm ayarlar programlı olarak değiştirilebilir diyor ama.

Herhangi böyle bir şey yapılır mı? Eğer öyleyse, ben bu yüzden nasıl yapabilirim? I http://incubator.apache.org/log4php/index.html de belgelerine baktım, ama ben daha çok yardıma ihtiyacım var.

Netleştirmek - Ben yapılandırma dosyaları kullanmak istemediğin, son kullanıcılar bu doğrudan erişime sahip olmayacak gibi. Ben bazı günlüğü ayarlarını değiştirmek için bir ön uç sağlayacak, ve tüm ayarlar veritabanında saklanır.

1 Cevap

API Dokümanlar baktığımızda onlar kaydediciler yapılandırmak için Yapılandırma Adaptörleri ve Strateji Desen kullanıyorsunuz söylüyor. Adaptörleri ana Kaydedici tarafından çağrılan tek bir yöntemi configure, var. Bir LoggerConfiguratorPhp düzenli bir PHP dizi dönen bir PHP dosyasını include / okuyacağı vardır. Ben bu kolayca bir dizi yerine veritabanından döndürülen kabul etmek için modifiye edilebilir düşünebiliriz. Başlangıç ​​noktası için bu sınıfın kaynak koduna bakabilirsiniz. Ne oluşturmak isteyeceksiniz sonra bu gibi ana Logger sınıfa geçebilir bir LoggerConfiguratorDB, bir:

$configurator = dirname(__FILE__).'/../resources/configurator_db.php';
Logger::configure( $configurator, 'LoggerConfiguratorDb');

I never worked with Log4Php and this is just assuming by looking at the API. I have absolutely no clue, how the new adapter would have to look like. But maybe this gets you into the right direction.

Eğer projeye bağış neden bir şey ile gelip yönetmek eğer :)