Quando si distribuisce la mia applicazione web OSGi utilizzando il equinox servlet bridge ottengo il seguente:Come configurare Log4J quando si distribuisce un'app OSGi con Equinox Servle Bridge su Tomcat?
log4j:WARN No appenders could be found for logger (org.springframework.osgi.extender.internal.activator.ContextLoaderListener).
log4j:WARN Please initialize the log4j system properly.
ho provato diversi modi di fornire i "log4j.properties" necessari di file, tra cui:
- aggiungendo il al contesto param "log4jConfigLocation" al bridge servlet web.xml
- creazione di una cartella "classi" nella cartella WEB-INF e copia del file log4j.properties lì (e copia in molte altre posizioni)
- rimuovendo il mio bund4log bundle e impostando "extendedFrameworkExports" su org.apache.log4j così (suppongo) che il tomcat log4j sia usato ... questo non ha funzionato perché le mie dipendenze hanno bisogno di alcune classi slf4j che sono fornite come frammento per il bund4 log4j ... che non c'è più ...
Naturalmente ho anche un fascio frammento che si estende il fascio log4j con un file log4j.properties, ma sembra che questo pacchetto log4j non è utilizzato.
AGGIUNTO: Aggiungo che sto sviluppando l'applicazione in Eclipse ... e il mio bundle di frammenti che configura log4j/slf4j funziona lì.
Qualcuno ha risolto questo? Qualche idea?
1. L'approccio del bundle di frammenti di solito non sembra funzionare quando si distribuisce l'applicazione su Tomcat come .war. 2. la mia guerra non aveva ancora una cartella META-INF, ma ho provato e anche non funziona (ho provato tutte le cartelle esistenti come WEB-INF, WEB-INF/eclipse, ...) – arturh
scusa non ho potuto essere più d'aiuto .. – toolkit