Sorun, WebSphere 6.1'in dahili olarak Jakarta Commons Logging (JCL) kullanması olabilir ve kodunuzdan veya 3. taraf kitaplıklarınızdan herhangi biri de JCL kullanıyorsa, WebSphere'in yapılandırma, log4j'yi kullanmaya çalışırken uygulamanızla çakışıyor. Bu oluyorsa, tam olarak ne gördüğünüzü göreceksiniz.
Birden fazla references ve bu adresi ele alma yollarını açıklayan blog posts vardır. Web uygulamanızın META-INF/services
dizininde (WAR arşivinin kökünde) org.apache.commons.logging.LogFactory
adlı bir dosya oluşturmanın en kolay yolunu bulduk.
org.apache.commons.logging.impl.Log4jFactory
(En az WebSphere ... daha yeni sürümleri ile) başka önemli JCL kavanoz log4j kavanoz aynı konuma yüklenebilir gerektiğidir: Bu dosya hattını içermelidir. Örneğin. ikisi de WEB-INF/lib'den veya her ikisi de paylaşılan bir kitaplıktan. Böylece, WebSphere'in kendi sağladığı kopyadan JCL'yi yüklemeye geri dönemezsiniz. different classloaders tarafından yüklendiyse, birbirlerini düzgün şekilde göremezler.
Bazı kodları eklerseniz iyi olur. Websphere kullanıyorum ve tüm günlükleri ayrı bir günlük dosyasına alıyorum. –
Ortak giriş gibi herhangi bir kayıt cephesi kullanıyor musunuz? Öyleyse, sınıf yükleme sırasını ebeveyn-son olarak değiştirmelisiniz. – szhem
Ebeveyn-son yapmak zorunda değilsiniz, ve başka etkileri olduğu için, mümkünse bunu önlerim. – dbreaux