IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Java Discussion :

[LOG4J] Erreur au démarrage de tomcat WARN No appenders...


Sujet :

Eclipse Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut [LOG4J] Erreur au démarrage de tomcat WARN No appenders...
    Bonjour,

    J'utilise eclipse 3.1 avec le plugin sysdeo pour utiliser Tomcat.
    Au démarrage de Tomcat, j'ai les erreurs suivantes :

    WARN No appenders could be found for logger
    WARN Please initialize the log4j system properly

    J'ai pourtant le log4j.jar sous WEB-INF/lib, et log4j.properties sous WEB-INF/classes de mon projet Tomcat sous eclipse.
    Je ne vois pas WEB-INF/classes dans eclipse mais dans l'explorateur de fichiers, enfin je le vois bien.
    Le contenu du fichier est le suivant :


    #définition du niveau et des Appender du rootLogger
    log4j.rootLogger=DEBUG, monAppender

    #configuration de "monAppender"
    #nous allons envoyer les messages dans la console de Tomcat
    log4j.appender.monAppender=org.apache.log4j.ConsoleAppender

    #définition du Layout pour "monAppender"
    log4j.appender.monAppender.layout=org.apache.log4j.PatternLayout

    #définition du pattern d'affichage pour "monAppender"
    #voici un exemple de sortie que l'on va obtenir : 2005-06-18 14:53:37 DEBUG [Main] Hello World
    log4j.appender.monAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n



    De plus, mais je ne sais pas si c'est obligatoire, j'ai copié le log4j.jar dans le répertoire lib de tomcat.
    Dois je copier le log4j.properties ailleurs ? Il ne semble pas le voir. Une idée ?

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Y a-t'il un nom de classe codé entre parenthèses derrière le message "WARN No appenders could be found for logger" ?

    Pour info, pour pouvoir voir WEB-INF/classes sous Eclipse, il faut se mettre en perspective Resource.
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Oui, le message complet est :

    log4j:WARN No appenders could be found for logger (org.apache.catalina.startup.Embedded).
    log4j:WARN Please initialize the log4j system properly.



    Qd je déploie sur tomcat sans eclipse ça fonctionne bien.

  4. #4
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    As-tu le même message si tu enlèves le log4j.jar du répertoire lib de Tomcat ? parce que normalement, il n'y a pas de raison de l'y mettre.
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    J'ai un message différent. Cette fois ci le lancement de Tomcat se passe sans erreur, mais l'appel à ma servlet avec un Logger tombe en erreur avec :

    GRAVE: Exception lors de l'allocation pour la servlet ManagerServlet
    java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    at com.osiris.controllers.ManagerServlet.<clinit>(ManagerServlet.java:27)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)


    C'est pourquoi j'avais commencé à ajouter log4j.jar dans la lib tomcat...

  6. #6
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Peux-tu nous montrer ce que tu as codé dans ta servlet ManagerServlet ?
    Modératrice Java - Struts, Servlets/JSP, ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Voici le code qui fonctionne bien sans le Logger, et qui fonctionne bien également sous Tomcat, sans eclipse, avec le Logger :


    package com.toto.controllers;

    import org.apache.log4j.Logger;



    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Iterator;
    import java.util.List;

    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import com.toto.hibernate.beans.Adresse;
    import com.toto.hibernate.beans.dao.AdresseDAO;
    import com.toto.hibernate.beans.dao._RootDAO;
    import com.toto.hibernate.utils.HibernateUtil;


    public class ManagerServlet extends HttpServlet {
    /**
    * Logger for this class
    */
    private static final Logger logger = Logger.getLogger(ManagerServlet.class);

    static final long serialVersionUID = 0;

    public void init() {
    _RootDAO.initialize();
    }


    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {
    if (logger.isDebugEnabled()) {
    logger
    .debug("doGet(HttpServletRequest, HttpServletResponse) - start");
    }


    try {


    HibernateUtil.getSessionFactory().getCurrentSession().beginTransaction();
    HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().commit();
    }
    catch(Exception e) {
    logger.error("doGet(HttpServletRequest, HttpServletResponse)", e);


    System.out.println(e);
    HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
    throw new ServletException(e);
    }
    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<head>");
    out.println("<title>Test Hibernate</title>");
    out.println("</head>");

    AdresseDAO dao = new AdresseDAO();

    List liste = dao.findAll();
    Iterator it = liste.iterator();
    out.println("<body>");
    while (it.hasNext()) {
    Adresse ad = (Adresse) it.next();
    out.println("commune :"+ad.getCommune());
    out.println("<br>");
    }

    out.println("</html>");


    if (logger.isDebugEnabled()) {
    logger
    .debug("doGet(HttpServletRequest, HttpServletResponse) - end");
    }
    }
    }

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu as bien mis log4j.jar dans le Java Build Path (soit clic droit sur ton projet -> Properties -> Java Build Path -> Libraries -> Add JARs) ?
    Modératrice Java - Struts, Servlets/JSP, ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Oui, j'ai ajouté log4j.jar à cet endroit, en tant que jar externe situé sous C:/Temp.

    Effectivement, il n'a pas la même icône que mes autres jars.
    Les autres jars sont blancs (comme un bocal), et log4j.jar a en plus une pile de bouquins dessus, je ne sais pas pourquoi, ni si c'est important.

    J'ai également renommé mon logj4-1.2.13.jar en log4j.jar, est ce important ?

    Quand je déroule le jar dans mon projet, en vue Java, je vois tous les packages org.apache.XXX

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Comme tu as copié le jar sous WEB-INF/lib de ton projet, tu peux faire un Add JARs au lieu d'un Add External JARs.
    Modératrice Java - Struts, Servlets/JSP, ...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Oui, mais le problème c'est qu'une fois sous lib, le jar s'éparpille en une arborescence de fichiers :
    lib --> org --> apache --> log4j --> etc...

    Et au moment de faire add jar, il n'est donc pas dans la liste.
    J'ai essayé sans succès d'ajouter le class folder "lib", contenant les packages.

    Je vais essayer de trouver un autre log4j.jar sur le net.

  12. #12
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Sous WEB-INF/lib, tu dois avoir logj4-1.2.13.jar et non une arborescence.
    Comment as-tu fait la copie du jar sous WEB-INF/lib ?
    Modératrice Java - Struts, Servlets/JSP, ...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Je faisais un import dans lib.

    J'ai essayé de simplement copier le jar dans le répertoire lib, dans l'explorateur de fichiers de windows, et ça fonctionne avec un refresh dans eclipse.
    Le projet s'exécute à présent corectement sous eclipse.

    Merci !

  14. #14
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Effectivement, avec un import, ça marche moins bien.

    Tu pouvais aussi faire une copie de ton jar sous l'explorateur windows et le coller sous WEB-INF/lib de ton projet sous Eclipse.

    Je te conseille d'ailleurs de procéder ainsi chaque fois que tu dois copier quelque chose dans un projet sous Eclipse, parce que si tu fais un "coller" sous Eclipse et que malencontreusement un jour, tu supprimes un fichier, tu pourras le récupérer directement sous Eclipse via le "Restore from Local History".
    J'espère avoir été assez claire.

    Enfin, c'est cool que ça marche enfin.
    Modératrice Java - Struts, Servlets/JSP, ...

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 49
    Points
    49
    Par défaut
    Oui, limpide.
    Encore merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur au démarrage de Tomcat
    Par hela.sfar dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 07/08/2012, 10h18
  2. Erreur de démarrage de Tomcat avec Tapestry5.10.5
    Par dev_benin dans le forum Tapestry
    Réponses: 3
    Dernier message: 28/04/2010, 10h47
  3. erreur de démarrage de tomcat
    Par toumi123 dans le forum Tomcat et TomEE
    Réponses: 11
    Dernier message: 19/11/2007, 17h44
  4. Erreur lors du démarrage de Tomcat depuis Eclipse
    Par Ghislain dans le forum Tomcat et TomEE
    Réponses: 20
    Dernier message: 17/01/2007, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo