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 :

nouveau en log4j


Sujet :

Logging Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 7
    Points
    7
    Par défaut nouveau en log4j
    bonjour,

    Je souhaite pouvoir garder mes fichiers de log et pouvoir ecrire a la suite ce que je veux.

    Mon code ressemble a ca :

    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
     
    		Logger logger = Logger.getLogger(MaClass.class.getName());
     
    		PatternLayout layout = new PatternLayout("[%p]  %d  %-30.30C = %m%n");
     
    		FileAppender appender = new FileAppender();
    		appender.setLayout(layout);
    		appender.setAppend(true);
     
    		File file = new File("log/22092004.log4j");	
    		FileWriter fileWriter=null;
     
    		try{
    			fileWriter = new FileWriter(file);
    		}catch(IOException e){
    		}
     
    		appender.setWriter(fileWriter);
    		logger.addAppender(appender);
     
    		BasicConfigurator.configure();
     
    		logger.setLevel(Level.INFO);
    		logger.info("message d'information");

    Si je le lance plusieurs fois il devrait y avoir plusieurs fois la ligne d'information, non ??

    Qu'est ce que je n'ai pas compris s'il vous plait ?? Ou alors comment faire pour que je puisse concatener a l'ancien fichier ???

    Merci,

    Brice

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    C'est une mauvaise idée que de configurer Log4J par programmation. Utilise de préférence log4j.properties ou log4j.xml - si tu préfères le XML -

    Je n'ai jamais utilisé par prog mais es tu sur que le FileAppender n'a pas une propriété filename ou un truc du Genre - car il est clair qu'en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File f = new File('your-file.log');
    Cela supprimera ton ancien fichier.

    De plus il existe des RolingAppender qui permettant de faire tourner automatiquement les fichiers par jour et d'en conserver un certain nombre.

    Regarde la doc log4J

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 7
    Points
    7
    Par défaut c'etat bien ca !!
    Ok merci, il y a bien une methode setFile pour le FileAppender.

    J'ai suivi le conseil de faire la configuration avec DOMConfigurator pour un fichier xml.

    Mais mon probleme maintenant c'est que je voudrais que le fichier de log prenne comme nom, la date du jour avec l'extension .log. Un truc du genre 23092004.log, pour garder une liste de log par jour.

    Y a t il quelque chose de définit pour ca ???

    Merci

    Brice

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    Salut,

    Utilise l'appender "DailyRollingFileAppender".
    Ca donne un truc du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <appender name="daily" class="org.apache.log4j.DailyRollingFileAppender">
      <param name="File" value="you-app.log"/>
      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
      </layout>
    </appender>
    Dans la journée courante tes logs seront stockés dans le fichier "your-app.log". A minuit ce fichier sera sauvegardé dans le fichier your-app.log.2004-09-23 et les nouveaux logs seront a nouveau stockés dans le fichier "your-app.log".
    Tu peux aussi configurer le DatePattern pour faire changer de fichier 1 fois par semaine ou toutes les heures ou ...

    Pour plus d'info :
    http://<br /> http://logging.apache...der.html<br />

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Terrible !!!
    Super !! Merci bien pour tes conseils ça m'a vraiment aider !!!!

    Tout marche nickel !!!

    Merci encore !!!

    Brice

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

Discussions similaires

  1. Nouveau tutoriel de Benoît-M
    Par Smortex dans le forum x86 16-bits
    Réponses: 28
    Dernier message: 28/11/2005, 01h00
  2. Création d'un nouveau skin
    Par TOM-Z dans le forum XMLRAD
    Réponses: 8
    Dernier message: 18/03/2003, 17h14

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