Dinamik olarak log4j günlük düzeyini Değiştirme
Uygulamayı yeniden dağıtmak istemiyorum bu yüzden log4j günlük düzeyini dinamik olarak değişen, farklı yaklaşımlar. Değişiklikler bu gibi durumlarda kalıcı olacak mı?
CEVAP
İzleme Dosyası
Log4j log4j.xml yapılandırma dosyadaki değişiklikleri izlemek mümkün. Eğer değiştirirseniz log4j dosyası, log4j otomatik olarak değişikliklere göre günlük seviyelerini yeniler. org.apache.log4j.xml.DOMConfigurator.configureAndWatch(String,long belgelerine bakın) ayrıntılar için. Varsayılan kontroller 60 saniye arasında bir süre bekleyin. Bu değişiklikler doğrudan yapılandırma dosya sisteminde dosya değiştiği için kalıcı olacaktır. Tüm yapmanız gereken DOMConfigurator çağırmak için.() configureAndWatch bir kere.
Dikkat: configureAndWatch yöntem iş Parçacığı bir sızıntı nedeniyle J2EE ortamlarda kullanım için güvenli değildir
JMX
Günlük düzeyi (ya da genel olarak yeniden yapılandırma) log4j ayarlamak için başka bir yol JMX kullanarak. Log4j JMX MBeans olarak onun vuruşlarını kaydeder. Uygulama sunucularını kullanarak (ya da GÖRDÜM jconsole.exe bu her kaydediciler yeniden yapılandırabilirsiniz MBeanServer konsolları. Bu değişiklikler kalıcı değildir ve uygulama (sunucu) sonra yeniden yapılandırma dosyasında ayarlanan yapılandırma sıfırlamak olacaktır.
Kendi Kendine Yaptı
Aaron tarafından tanımlandığı gibi, günlük düzeyini programlı olarak ayarlayabilirsiniz. Olmasını istediğiniz şekilde uygulamanızda uygulamak. Örneğin, bir kullanıcı veya yönetici giriş seviyesi değiştiği bir GUI var ve kaydedici setLevel() yöntemlerini çağırın. İster ayarları bir yere kalıcı ya da size bağlı değildir.

Mac kullanıcı ve alma UYARI: LibXML sü...
Nasıl bir C özelliklerini okuyabilir m...
Nasıl farklı ekranlar için textview di...
Bir sınıfta dize adı Python dinamik ör...
V3 API Google Maps: Nasıl işaretleyici...