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 & dispatch des logs en 2 fichiers


Sujet :

Logging Java

Vue hybride

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

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Par défaut Log4j & dispatch des logs en 2 fichiers
    Bonjour,

    jaimerai bien savoir comment faire pour dispatcher les logs INFO/DEBUG & ERROR dans 2 fichiers de logs differents au lieu d'ecrire tout dans le meme fichier

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Par défaut
    Il faut modifier le fichier log4j.properties.

    Voici une partie de code trouvé ici
    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
    # Debug
    log4j.appender.Debug=org.apache.log4j.RollingFileAppender
    log4j.appender.Debug.File=./log/Debug.log
    log4j.appender.Debug.MaxFileSize=20000KB
    log4j.appender.Debug.Threshold=DEBUG
    log4j.appender.Debug.MaxBackupIndex=1
    log4j.appender.Debug.layout=org.apache.log4j.PatternLayout
    log4j.appender.Debug.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}] %-5p [%t] %x%30F:%4L - %m%n
     
    # Info
    log4j.appender.Info=org.apache.log4j.RollingFileAppender
    log4j.appender.Info.File=./log/Info.log
    log4j.appender.Info.MaxFileSize=20000KB
    log4j.appender.Info.Threshold=INFO
    log4j.appender.Info.MaxBackupIndex=1
    log4j.appender.Info.layout=org.apache.log4j.PatternLayout
    log4j.appender.Info.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}] %-5p [%t] %x%30F:%4L - %m%n

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Par défaut passage du nom des fichiers dynamiquement à partir du code
    Ok Merci,

    sinon ya til moyen de passer les noms des fichiers de logs en paramètre dans le code Java ??


    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 60
    Par défaut
    Il existe un moyen pour géré dynamiquement le fichier log, après que le logger a charger les paramètre du fichier de configuration, il faut parcourir les sorties du logger, et pointer ensuite sur l'objet de la sortie qu'on veut modifier, après modifier le fichier.
    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
    Logger rootLogger = Logger.getRootLogger();
    Enumeration appenders = rootLogger.getAllAppenders();
    FileAppender fa = null;
    while(appenders.hasMoreElements())
    {
    Appender currAppender = (Appender) appenders.nextElement();
    if(currAppender instanceof FileAppender)
    {
    fa = (FileAppender) currAppender; //on récupère le fichier de sortie
    }
    }
    if(fa != null)
    {
    fa.setFile(logFileName); // on modifie le fichier de sortie
    fa.activateOptions();
    }
    else
    {
    log.info("No File Appender found");
    }

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Par défaut Définir les 2 error & info dès le début
    si j'ai bien compris,
    il faut s'amuser à chaque fois à changer la sortie de l'appender,

    yatil pas moyen de définir dès le debut le nom de chaque fichier de sortie?


    Merci

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 298
    Par défaut fichier de conf et lecture des appenders
    Bonjour,

    dans mon fichier de conf , j'ai :
    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
    # Pattern to output the caller's file name and line number.
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n	
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=./log/log.log
    log4j.appender.R.MaxFileSize=100KB
    # Keep one backup file
    log4j.appender.R.MaxBackupIndex=1
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    # Debug
    log4j.appender.Debug=org.apache.log4j.RollingFileAppender
    log4j.appender.Debug.File=./log/Debug.log
    log4j.appender.Debug.MaxFileSize=20000KB
    log4j.appender.Debug.Threshold=DEBUG
    log4j.appender.Debug.MaxBackupIndex=1
    log4j.appender.Debug.layout=org.apache.log4j.PatternLayout
    log4j.appender.Debug.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}] %-5p [%t] %x%30F:%4L - %m%n
     
    # Info
    log4j.appender.Info=org.apache.log4j.RollingFileAppender
    log4j.appender.Info.File=./log/Info.log
    log4j.appender.Info.MaxFileSize=20000KB
    log4j.appender.Info.Threshold=INFO
    log4j.appender.Info.MaxBackupIndex=1
    log4j.appender.Info.layout=org.apache.log4j.PatternLayout
    log4j.appender.Info.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}] %-5p [%t] %x%30F:%4L - %m%n
    et dans mon code en faisant :
    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
    Logger rootLogger =logger.getRootLogger();
    			Enumeration appenders = rootLogger.getAllAppenders();
    			while (appenders.hasMoreElements() ){
     
    			  Appender app = (Appender)appenders.nextElement();
     
    			  if ( app instanceof FileAppender ){
     
     
    			    logger.info("Appended File=" + ((FileAppender)app).getFile());
     
     
    			  }
     
    			}
    dans mes logs de sortie je vois qu'un seul :
    Appended File=./log/log.log

    J'attends vos reponses car j'ai besoin de rediriger les logs d'info vers un fichier et les logs d'info vers un autre.

    Merci

    Merci

Discussions similaires

  1. log4j: Répétitions des lignes dans le fichier log
    Par troumar dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 06/05/2011, 11h02
  2. Log4J émet il des logs synchro ?
    Par Invité(e) dans le forum Logging
    Réponses: 1
    Dernier message: 17/01/2011, 15h38
  3. Réponses: 2
    Dernier message: 18/12/2010, 19h42
  4. Renvoi des logs dans un fichier
    Par Trebor dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 01/09/2009, 19h39
  5. [log4j] probleme des logs sur un fichier
    Par DOUDOUX11 dans le forum Logging
    Réponses: 1
    Dernier message: 23/01/2009, 10h08

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