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

Logging Java Discussion :

log4J no appender .


Sujet :

Logging Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut log4J no appender .
    Bonjour à tous , je m'excuse presque de poster un message sur ce sujet tant abordé mais ça fait plusieurs heures que je tourne en rond.

    J'ai un projet très simple où j'aimerais être capable d'utiliser le logguer.

    Il faut utiliser en général un fichier log4j.properties à plaçer dans le dossier src du projet(ce que je fais)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #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
    Ma classe de test:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    import org.apache.log4j.Logger;
    import org.apache.log4j.ConsoleAppender;
    import org.apache.log4j.BasicConfigurator;
     
     
     
     public class testLog {
        private static final Logger logger = Logger.getLogger(testLog.class);
        // suite
     
     
        public static void test(){
            try {
                logger.debug("test");
        } catch(Exception e) {
                    // équivaut à logger.log(Level.FATAL, "Une exception est survenue", e);
                    logger.fatal("Une exception est survenue", e);
     
        }
    }
     
         public static void main(String[] args) {
            test();
        }
     
    }
    Ca m'affiche toujours

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    log4j:WARN No appenders could be found for logger (testLog).
    log4j:WARN Please initialize the log4j system properly.
    Pourquoi?
    merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par cotede2 Voir le message
    Il faut utiliser en général un fichier log4j.properties à plaçer dans le dossier src du projet(ce que je fais)
    Non, il faut un fichier log4j.properties dans le "classpath d'éxécution du programme", c'est à dire, en gros, à coté des .class générés. Suivant les méthodes utilisées pour la compilation, les fichier accompagnant les source peuvent ou pas être automatiquement transféré vers le répertoire de compilation. Peux-tu nous dire quelle procédure de compilation tu suis avant d'exécuter ton programme? Il semble que ton log4j.properties ne soit pas transféré.

  3. #3
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    ca marche merci.
    C'est étrange les sources sur le net qui parlent du répertoire src.
    Voilà pour les autres, il faut le placer dans le dossier build/web/WEB-INF/Classes/

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ca dépend de ton processus de build. Et le mettre directement dans le répertoire compilation, tu le perdra le jour où tu fera un "clean" du projet. L'emplacement ou mettre ton fichier dépend de ton ide.

  5. #5
    Membre éclairé
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Par défaut
    merci ça fonctionne .
    J'ai essayé la même manipulation sous eclipse mais je rencontre un problème à la compilation avec ANT.

    J'ai bien inclus la librairie JAR au projet.
    Dans ma classe de test,

    TestLog4j.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    package springmvc.test;
     
    import org.apache.log4j.Logger;
     
     
    public class TestLog4j {
    	 private static final Logger logger = Logger.getLogger(TestLog4j.class);
     
    	 public static void test(){
    	        try {
    	            logger.debug("test");
    	        } catch(Exception e) {
    	                // équivaut à logger.log(Level.FATAL, "Une exception est survenue", e);
    	                logger.fatal("Une exception est survenue", e);
    	        }
    	 }
     
    	    public static void main(String[] args) {
    	        test();
    	    }	    
    }
    A la compilation, j'obtiens un package manquant alors qu'à l'édition du fichier .java je n'ai pas de soucis.
    J'ai aussi bien collé le log4j.properties dans le WEB-INF\classes et aussi dans le \WEB-INF\classes\springmvc\test par précaution.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [javac] C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\testInfinite\WEB-INF\src\springmvc\test\TestLog4j.java:3: package org.apache.log4j does not exist
        [javac] import org.apache.log4j.Logger;
        [javac]        
     
    .....
    comment cela se fait-il?
    La question semble plus générale à JAVA Eclipse je pense.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je connais pas trop eclipse + ant, mais à mon avit eclipse n'ajoute pas automagiquement les jar dans le classpath de compilation ant. Il va falloir les rajouter toi même dans le build.xml ^^

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/11/2007, 11h21
  2. [log4j] FileAppender et appends entrelacés
    Par banzzai dans le forum Logging
    Réponses: 2
    Dernier message: 27/04/2006, 12h15
  3. [LOG4J] Erreur au démarrage de tomcat WARN No appenders...
    Par PamelaGeek dans le forum Eclipse Java
    Réponses: 14
    Dernier message: 04/01/2006, 15h48
  4. [log4j] Appender
    Par lapartdombre dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/10/2005, 10h30
  5. [debutant][log4j] plusieurs appender
    Par Invité dans le forum Logging
    Réponses: 1
    Dernier message: 13/07/2005, 10h36

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