2 votes

Comment réparer l'absence des fichiers journaux SLF4j dans Tomcat ?

Je reçois cette erreur en essayant de démarrer une nouvelle application en utilisant Tomcat:

Impossible de trouver les jars de logging SLF4j nécessaires. Si vous utilisez Jetty, les jars de logging SLF4j doivent être placés dans le répertoire jetty lib/ext. Pour d'autres conteneurs, le répertoire correspondant devrait être utilisé. Pour plus d'informations, consultez: http://wiki.apache.org/solr/SolrLogging

Je n'utilise pas Jetty, j'utilise Tomcat, donc mes instructions d'installation sont légèrement différentes.

J'ai vérifié le lien et lu beaucoup à ce sujet - il semble que les bibliothèques doivent aller dans $CATALINA_BASE/lib - qui dans mon cas devrait être:

/usr/local/easy/share/easy-tomcat7/lib

Cependant, j'ai mis les bibliothèques là-bas - pas de succès.

Voici le répertoire lib:

./                        commons-io-2.3.jar        jsp-api.jar                 slf4j-api-1.7.6.jar      tomcat-juli-adapters.jar
../                       el-api.jar                jul-to-slf4j-1.7.7.jar      slf4j-api-1.7.7.jar      tomcat-juli.jar
annotations-api.jar       httpclient-4.3.1.jar      log4j.jar@                  slf4j-log4j12-1.7.7.jar  tomcat-util.jar
catalina-ant.jar          httpcore-4.3.jar          log4j-over-slf4j-1.7.7.jar  tomcat-api.jar           wstx-asl-3.2.7.jar
catalina-ha.jar           httpmime-4.3.1.jar        log4j.properties            tomcat-coyote.jar        zookeeper-3.4.6.jar
catalina.jar              jasper-el.jar             log4j.properties.bak        tomcat-i18n-es.jar
catalina-tribes.jar       jasper.jar                noggit-0.5.jar              tomcat-i18n-fr.jar
commons-collections.jar@  jasper-jdt.jar@           servlet-api.jar             tomcat-i18n-ja.jar
commons-dbcp.jar@         jcl-over-slf4j-1.7.7.jar  slf4j-1.7.7/                tomcat-jdbc.jar

Comme vous pouvez le voir, toutes les bibliothèques devraient être là.

Alors qu'est-ce qui provoque cela? Suis-je dans le mauvais répertoire Tomcat? Ai-je pris les bons fichiers? Y a-t-il un paramètre de configuration que j'ai oublié? Je suis à peu près totalement perdu ici.

1voto

user214294 Points 11

Il n'est pas recommandé d'avoir deux versions de la bibliothèque de l'API slf4j dans votre classpath. Vous avez slf4j-api-1.7.6.jar ainsi que slf4j-api-1.7.7.jar.

De plus, vous devriez avoir la bibliothèque d'implémentation slf4j correspondante dans votre classpath.

Référez-vous à la documentation de slf4j pour obtenir plus de détails sur la façon d'inclure slf4j dans votre application.

0voto

Zafar Points 241

Pour que votre Solr avec Tomcat fonctionne correctement, vous devez :

  1. Copier les jars de logging SLF4j de /example/lib/ext/*.jar dans Tomcat Lib (par exemple TOMCAT_HOME/lib, /usr/share/tomcat/lib) ou dans le répertoire Webapp Lib (par exemple TOMCAT_HOME/webapps/solr/WEB-INF/lib). Ces jars configureront SLF4J et log4j.

    Pour un serveur Debian ou Ubuntu utilisant le package Tomcat disponible auprès du fournisseur d'OS, il est probable que ce soit /usr/share/tomcat6/lib ou /usr/share/tomcat7/lib.

    Par exemple :

    # cp -v /opt/solr-4.10.4/example/lib/ext/*.jar /usr/share/tomcat?/lib/

    ou :

    # cp -v /opt/solr-4.10.4/example/lib/ext/*.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/

    Vous pouvez aussi configurer votre CLASSPATH pour pointer vers vos fichiers jar.

  2. Copier la configuration de logging de solr/example/resources/log4j.properties dans un emplacement du classpath. Habituellement, vous pouvez utiliser le même emplacement que les fichiers jar ci-dessus et modifier le fichier de configuration pour votre destination de log préférée.

    Optionnellement, si vous n'avez pas placé log4j.properties dans le classpath, définissez l'option java : -Dlog4j.configuration=file:///chemin/vers/log4j.properties

  3. Redémarrer Tomcat (par exemple sudo /etc/init.d/tomcat7 restart).

Si vous rencontrez toujours des problèmes, il peut être utile de démarrer le serveur avec -Dlog4j.debug=true pour voir plus de détails.

Voir : Utiliser la configuration de logging d'exemple dans des conteneurs autres que Jetty

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X