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 :

[logBack] Désactiver BasicConfigurator


Sujet :

Logging Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Avril 2009
    Messages : 168
    Points : 122
    Points
    122
    Par défaut [logBack] Désactiver BasicConfigurator
    Bonjour,

    j'utilise logback dans un projet et c'est ma 1ere fois de bosser avec.
    J'ai défini un fichier de config (logback.xml) pour mon projet. Lorsque j'exécute ce dernier, je constate qu'il produit des logs dans la sortie standard qui ne correspondent pas au format que j'ai défini dans mon fichier.
    En fouillant sur le net , j'ai compris qu'il y'a la classe BasicConfigurator qui est appelé si aucun fichier de config n'est défini.
    Dans mon cas, cette classe est tout de même appelé malgré le fait qu'il existe un fichier de config.

    Ma question est la suivante: est-il possible de désactiver le BasicConfigurator? si, oui comment? je ne souhaiterais plus avoir de logs dans la console.

    Merci d'avance

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Non, normalement, si le fichier de config est au bon endroit et correctement défini, y'a rien besoin de faire en plus...

    Fais voir le fichier, et aussi l'emplacement où tu l'as mis
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Avril 2009
    Messages : 168
    Points : 122
    Points
    122
    Par défaut
    Bonjour Pill_S,

    tout d'abord merci pour ta réponse.
    Le contenu du fichier est le suivant:
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration >
    	<appender name="A1" class="ch.qos.logback.core.ConsoleAppender">
    		<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    			<Pattern>%d{dd-MM-yyyy HH:mm}-%-5p-%m%n</Pattern>
    		</encoder>
    	 </appender>
     
    	 <appender name="A2" class="ch.qos.logback.core.rolling.RollingFileAppender">
        	<file>toto.log</file>
        	<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
          		<!-- daily rollover -->
          		<fileNamePattern>./%d{yyyy-MM,aux}/toto.%d{ddMMyyyy_HH-mm}.zip</fileNamePattern>
        	</rollingPolicy>
     
        	<encoder>
          		<pattern>%d{dd-MM-yyyy HH:mm:ss:SSS}-%-5p-%m%n</pattern>
        	</encoder>
      	</appender> 
    	 <root level="ALL">
        	<appender-ref ref="A2"/>
      	 </root>
    </configuration>
    Concernant l'emplacement, je l'ai généré hors de mon projet et pour le charger, j'utilise ce bout de code (trouvé dans l'aide de logback):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try {
    		    LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
    		    JoranConfigurator configurator = new JoranConfigurator();
     
    		    configurator.setContext(context);
     
    		    configurator.doConfigure(logback_path);//logback_path est le chemin d'accès au ficher logback.xml
     
    		} catch (JoranException e1) {
    		    // TODO Bloc catch auto-généré
    		    e1.printStackTrace();
    		}
    en espérant que ça puisse être utile....

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hum... pas d'erreur lors du chargement de la config?

    Sinon, ne penses-tu pas que les traces que tu vois dans la console sont celles produites avant que la config ne soit chargée? c'est toujours possible, beaucoup de libs font du log dès leur chargement...

    Si tu ajoute un "LOG.warn("toto")" juste après le chargement de la config, est-ce que tu le vois dans la console?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Avril 2009
    Messages : 168
    Points : 122
    Points
    122
    Par défaut
    finalement, je viens de comprendre pourquoi Pill_S.
    En fait dans le code source de chargement du fichier de config, il y'avait une instruction que j'avais oublié:
    cette instruction permet de réinitialiser le contexte courant du logback avant de charger le fichier de config...
    Du coup le code source de chargment aurait dû être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try {
    		    LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
    		    JoranConfigurator configurator = new JoranConfigurator();
     
    		    configurator.setContext(context);
    		    context.reset(); 
    		    configurator.doConfigure(logback_path);
     
    		} catch (JoranException e1) {
    		    // TODO Bloc catch auto-généré
    		    e1.printStackTrace();
    		} // loads logback file
    après avoir retesté, ça marche bien, je n'ai plus rien dans la console.
    Merci Pill_S une fois de plus

  6. #6
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    ha bah ok alors tant mieux
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

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

Discussions similaires

  1. Désactiver la multi-sélection d'une grille
    Par Riko dans le forum Composants VCL
    Réponses: 6
    Dernier message: 17/06/2003, 09h47
  2. Comment désactiver Ctrl+Alt+Del sous Windows XP
    Par ETOKA dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 04/06/2003, 13h34
  3. Désactivation de la souris
    Par mika dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/03/2003, 13h15
  4. Désactiver les touches F1, F2, F3, F4, F5 dans IE
    Par ZiZouJH dans le forum Flash
    Réponses: 7
    Dernier message: 17/02/2003, 09h59
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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