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 :

1 application pour 2 fichiers log


Sujet :

Logging Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 42
    Points
    42
    Par défaut 1 application pour 2 fichiers log
    Bonjour messieurs dames,

    Je requiers votre aide pour un petit problème qui m'embête.

    Je développe une appli qui aura 2 fichiers log en sortie. J'utilise log4j.
    • Processed_log.log
    • Fail_log.log

    Comment faire pour écrire tantôt dans un log, tantôt dans un autre ?

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class MonAppli{
       public final static Log logFail = LogServiceHelper.getLog(MonAppli.class.getName());
       public final static Log logProcessed = LogServiceHelper.getLog(MonAppli.class.getName());
     
       boolean connection = connect();
     
       if(connection)
          logProcessed.debug("Connected");
       else
          logFail.debug("Connection failed.");
    }
    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
    ///////FICHIER PROPERTIES//////////
    log4j.appender.appliFailAppender=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.appliFailAppender.file=D:\\log\\Fail_log.log
    log4j.appender.appliFailAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.appliFailAppender.layout.ConversionPattern=%d{MMM dd HH:mm:ss};%c{1};%-5p;E150;%t:%m%n
     
    log4j.category.MonAppli=DEBUG, appliFailAppender
     
     
    log4j.appender.appliProcessedAppender=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.appliProcessedAppender.file=D:\\log\\Processed_log.log
    log4j.appender.appliProcessedAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.appliProcessedAppender.layout.ConversionPattern=%d{MMM dd HH:mm:ss};%c{1};%-5p;E150;%t:%m%n
     
    log4j.category.MonAppli=DEBUG, appliProcessedAppender
    Je me doute que ce n'est pas comme ça qu'il faut faire, mais je ne parviens pas à comprendre, malgré 3 tuto lus, comment faire, où appeler quoi. Comment faire en sorte que la variable logProcessed se réfère à l'appender appliProcessedAppender ?
    Je vous remercie d'avance !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    retire ton histoire de category et met ça à la place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    log4j.logger.fail=DEBUG, appliFailAppender
    log4j.logger.processed=DEBUG, appliProcessedAppender
    et dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       public final static Log logFail = LogServiceHelper.getLog("fail");
       public final static Log logProcessed = LogServiceHelper.getLog("processed");

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    J'étais pas loin.
    Maintenant ça marche nickel ! Merci tchize_

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    Et faut-il que je les déclare dans chacune des classes que j'utilise ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class MonAppli{
    	public final static Log log = LogServiceHelper.getLog(MonAppli.class.getName());
    	public final static Log logFail = LogServiceHelper.getLog("fail");
    	public final static Log logProcessed = LogServiceHelper.getLog("processed");
     
    	...
     
    	log.error("Salut !");
    	logProcessed.debug("Je suis bien dans la classe MonAppli");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Coucou extends Toto{
    	public final static Log log = LogServiceHelper.getLog(MonAppli.class.getName());
    	public final static Log logFail = LogServiceHelper.getLog("fail");
    	public final static Log logProcessed = LogServiceHelper.getLog("processed");
     
    	...
     
    	logProcessed.debug("Je suis bien dans la classe Coucou ");
    	logFail.debug("Pas d'erreur.");
    }
    etc

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben non, tu les déclàare à un seul endroit, ça suffit


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class LOGS{
    	public final static Log fails = LogServiceHelper.getLog("fail");
    	public final static Log processed = LogServiceHelper.getLog("processed");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Coucou extends Toto{
     
    	LOGS.processed.debug("Je suis bien dans la classe Coucou ");
    	LOGS.fails.debug("Pas d'erreur.");
    }
    par exemple

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    Mais dans ce cas il faut que toutes les classes dans lesquelles je les utilise, héritent de la classe LOGS, non ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Non, pourquoi tu veux aller hériter de ça?

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    A oui, il y a juste à faire les "import LOGS;" car les classes ne sont pas dans les mêmes packages.
    Merci encore !

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/10/2014, 15h02
  2. [Débutant] aide pour les fichiers logs
    Par steph97139 dans le forum VB.NET
    Réponses: 2
    Dernier message: 24/06/2013, 09h48
  3. Extension Date pour un fichier log
    Par dari68 dans le forum Windows XP
    Réponses: 7
    Dernier message: 18/06/2013, 14h58
  4. Grep pour filtrer le fichier log
    Par devdev2003 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/02/2005, 05h48
  5. [Oracle 8i/Fichier de log] - fichier log pour analyse erreur
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 4
    Dernier message: 25/01/2005, 19h06

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