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 configureAndWatch ne modifie pas le niveau de trace des loggers existants


Sujet :

Logging Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Par défaut Log4j configureAndWatch ne modifie pas le niveau de trace des loggers existants
    Bonjour,

    j'ai regardé les trois posts existants sur le sujet mais personne ne semble avoir mon problème. J'utilise au démarrage de mon serveur tomcat la méthode configureAndWatch(fichier, delai) de log4j mais je n'ai pas le résultat escompté, à savoir que le niveau de trace de mes loggueurs ne change pas

    Par exemple si j'ai lancé tomcat avec le niveau de log à INFO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <logger name="com.test" additivity="false">
       <level value="INFO"/>
       <appender-ref ref="TestFile"/>
    </logger>
    avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private static Logger logger = Logger.getLogger(Initializer.class);
    logger.info("test");
    il m'affiche bien "test" dans les logs, puis si je mets le niveau à WARN dans le fichier de config log4j, et que je repasse dans la même classe alors il me loggue encore alors qu'il ne devrait pas.

    Pourtant log4j va bien lire le fichier de conf modifié (j'en ai la preuve dans mes logs en mettant debug=true dans lo4j.xml, il m'affiche log4j: Finished configuring.) tous les « delai » ms si celui-ci a été modifié.

    Ce qui est bizarre c'est que je ne vois pas l'intérêt de configureAndWatch dans ce cas là, il doit y avoir un problème quelque part.

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Par défaut
    Attention car dans log4j les niveaux de logging ne sont pas evidents a gerer.

    Je ne me rappelle plus exactement les regles du truc (mais je me rappelle qu'il y a un chouette tableau d'exemples quelque part dans la doc) mais si tu definis un niveau pour le root et que tu essayes de restreindre le niveau dans un 'sous' logger alors il y a une regle pour savoir ce qui se passe.

    Eventuellement poste ton fichier de config pour log4j en entier, on aura deja plus d'elements pour te repondre.

    Pour info j'utilise configureAndWatch et jusqu'a present j'ai jamais eu ce probleme.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Par défaut
    ok merci, je vais creuser dans cette direction.
    Au niveau du logger, il n'y en a pas de défini en root. Je vous transmets un fichier de configuration dans la journée.

    EDIT : je n'ai pas beaucoup de temps pour traiter ce problème pour le moment mais je transmets le nécessaire dès que je me repositionne dessus. Encore merci pour la réponse

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Par défaut Réponse
    J'ai trouvé d'où venait mon erreur (ou plutôt on m'a aidé :-) )
    j'utilisais org.apache.log4j.PropertyConfigurator.configureAndWatch(...) alors que j'aurais dû utiliser org.apache.log4j.xml.DOMConfigurator.configureAndWatch(...);

    Et oui, après coup, c'est logique, j'utilise un XML pour configurer log4j mais sur le coup je n'ai pas fait attention. En plus, log4j ne me générait pas d'erreur, même en debug.

    Désolé de ne pas avoir apporté cette information dans mon message, ça aurait certainement aidé.

    Reste à tester et je passe le message en résolu si c'est bon

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

Discussions similaires

  1. [VB.Net 2.0] Pourquoi ma DataTable ne se modifie pas malgré l'Update ?
    Par sandra69 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2007, 22h41
  2. log4j, niveau de trace et thread
    Par nath8050 dans le forum Logging
    Réponses: 6
    Dernier message: 05/04/2007, 14h09
  3. DBEdit ne modifiant pas la BDD
    Par andreditdd dans le forum Bases de données
    Réponses: 11
    Dernier message: 13/03/2007, 13h10
  4. Réponses: 4
    Dernier message: 08/03/2007, 21h00
  5. [LOG4J] ConfigureAndWatch et ThreadDeath exception
    Par bourbaki2003 dans le forum Logging
    Réponses: 4
    Dernier message: 10/07/2006, 14h18

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