2010-11-22 22 views
2

Jetty'de (sürüm 6.1.25) dağıtdığım bir savaş olarak paketlenmiş bir web paketim var. Web uygulaması log4j'yi kullanır. Webapp logging'in, savaşa dış olan (yani yanmıyor) bir yapılandırma dosyası üzerinden yapılandırılmasını mümkün kılmak istiyorum.Jetty ve log4j ile harici webapp günlüğe kaydetme yapılandırması ayarlama

Webapp sınıf yoluna enjekte etmek istediğim log4j.properties dosyasını işaret eden bir ekstra sınıf yolu özelliği ile özel bir bağlam WebAppContext kullanmayı denedim, ancak bu çalışmadı.

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
    <Set name="contextPath">/quantel</Set> 
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/quantel</Set> 
    <Set name="extraClasspath">quantel/log4j.properties</Set> 
</Configure> 

alıyorum aşağıdaki hata iletisi:

log4j:WARN No appenders could be found for logger (org.apache.commons.configuration.ConfigurationUtils). 
log4j:WARN Please initialize the log4j system properly. 

o İskelesi'ne ile bunu yapmak mümkün mü?

Şimdiden teşekkürler.

cevap

1

Sadece yapılandırma dosyasının kendisinin eklenmesi yerine log4j config dosyasını içeren klasörü webapp sınıf yoluna eklemek için yukarıdaki xml yapılandırmasını değiştirdim. Şimdi çalışıyor, ama neden bana açık değil.

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
    <Set name="contextPath">/quantel</Set> 
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/quantel</Set> 
    <Set name="extraClasspath"><SystemProperty name="jetty.home" default="."/>/quantel</Set> 
</Configure> 
+1

Sınıfyolu girişleri dizinleri veya kavanoz ya olmalıdır:

Benim çalışma yapılandırma gibi görünüyor. log4j, logpath üzerindeki her girişi INSIDE log4j.properties dosyasını arayacaktır. Bu yüzden, eğer 'quantel/log4j.properties' 'i sınıf yoluna koyarsanız, onu bir kavanoz olarak ele almaya ve içindeki log4j.properties'i aramaya çalışacaktır (bu başarısız olacaktır). Bunun yerine, 'quantel'i sınıf yoluna koyarsanız, bu dizinin içindeki log4j.properties'i arar. –

İlgili konular