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

Développement Web en Java Discussion :

Log4j et configuration du .properties


Sujet :

Développement Web en Java

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut Log4j et configuration du .properties
    Bonjour à tous,

    Mais tout d'abord le code.....tout bête.

    log4j.properties

    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
     
    # Root logger option
    log4j.rootLogger=INFO, subLog, stdout
    log4j.logger.subLogger=FATAL, subLog
     
    # Direct log messages to a log file
    log4j.appender.rootLogger=org.apache.log4j.RollingFileAppender
    log4j.appender.rootLogger.File=rootLogs.log
    log4j.appender.rootLogger.MaxFileSize=10MB
    log4j.appender.rootLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.rootLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
     
    log4j.appender.subLog=org.apache.log4j.RollingFileAppender
    log4j.appender.subLog.File=logs.log
    log4j.appender.subLog.MaxFileSize=10MB
    log4j.appender.subLog.layout=org.apache.log4j.PatternLayout
    log4j.appender.subLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
     
    # Direct log messages to stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    Et la classe

    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    package com.clearstream.main;
     
    import org.apache.log4j.Logger;
     
    public class TestLog4J {
     
    	/**
             * @param args
             * @throws Exception 
             */
    	private static final Logger logger = Logger.getLogger( "subLog" );
     
    	public static void main(String[] args) throws Exception {
    		new TestLog4J().init();
    	}
     
    	public void init() throws Exception {
     
    		logger.info( "START APP" );
    		String number = "5x";
     
    		try {
    			logger.debug( "Format " + number + " to number!" );
    			Integer.parseInt( number );
    		} catch ( NumberFormatException e ) {
    			logger.fatal( "Cannot format " + number + " to number! " + e );
    		}
     
    		logger.info( "END APP" );
     
    	}
     
    }
    Mon problème est simple j'aimerais logguer tous ce qui est au moins INFO dans le rootlogger et j'aimerais logguer tous ce qui ERROR dans le sublogger, donc le rootlogger contiendra tous ce qui il y a dans le sublogger.

    Merci 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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # Root logger option
    log4j.rootLogger=INFO, subLog, stdout
     
    .....
     
    log4j.appender.subLog.thresold=error
     
    .....

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Merci pour ta rapidité,

    Voici donc le code remanié:

    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    package com.clearstream.main;
     
    import org.apache.log4j.Logger;
     
    public class TestLog4J {
     
    	/**
             * @param args
             * @throws Exception 
             */
    	private static final Logger logger = Logger.getLogger( "subLog" );
     
    	public static void main(String[] args) throws Exception {
    		new TestLog4J().init();
    	}
     
    	public void init() throws Exception {
     
    		logger.info( "START APP" );
    		String number = "5x";
     
    		try {
    			logger.debug( "Format " + number + " to number!" );
    			Integer.parseInt( number );
    		} catch ( NumberFormatException e ) {
    			logger.fatal( "Cannot format " + number + " to number! " + e );
    		}
     
    		logger.info( "END APP" );
     
    	}
     
    }
    et le .properties:

    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
     
    # Root logger option
    log4j.rootLogger=INFO, subLog, stdout
    log4j.logger.subLogger=FATAL, subLog
     
    # Direct log messages to a log file
    log4j.appender.rootLogger=org.apache.log4j.RollingFileAppender
    log4j.appender.rootLogger.File=rootLogs.log
    log4j.appender.rootLogger.MaxFileSize=10MB
    log4j.appender.rootLogger.layout=org.apache.log4j.PatternLayout
    log4j.appender.rootLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
     
    log4j.appender.subLog=org.apache.log4j.RollingFileAppender
    log4j.appender.subLog.File=logs.log
    log4j.appender.subLog.MaxFileSize=10MB
    log4j.appender.subLog.layout=org.apache.log4j.PatternLayout
    log4j.appender.subLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    log4j.appender.subLog.Threshold=error
     
    # Direct log messages to stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    Le fichier logs.log contient bien la ligne ERROR:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    2014-07-23 14:30:55 FATAL subLog:26 - Cannot format 5x to number! java.lang.NumberFormatException: For input string: "5x"
    Mais le fichier rootLogs.log est vide.

    Merci

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Points : 89
    Points
    89
    Par défaut
    Bonjour,

    J'ai resolu mon probleme:
    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
     
    # Root logger option
    log4j.rootLogger=TRACE,subLog,stdout,rootLog
    log4j.logger.subLogger=subLog
     
    # Direct log messages to a log file
    log4j.appender.rootLog=org.apache.log4j.RollingFileAppender
    log4j.appender.rootLog.File=./rootLogs.log
    log4j.appender.rootLog.MaxFileSize=10MB
    log4j.appender.rootLog.layout=org.apache.log4j.PatternLayout
    log4j.appender.rootLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
     
    log4j.appender.subLog=org.apache.log4j.RollingFileAppender
    log4j.appender.subLog.File=logs.log
    log4j.appender.subLog.MaxFileSize=10MB
    log4j.appender.subLog.layout=org.apache.log4j.PatternLayout
    log4j.appender.subLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
    log4j.appender.subLog.Threshold=fatal
     
    # Direct log messages to stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%l - %m%n

Discussions similaires

  1. [log4j] le mystère des properties fantômes
    Par eracius dans le forum Logging
    Réponses: 6
    Dernier message: 28/09/2009, 11h44
  2. [2.0][VS2005] configuration des properties dans un setup
    Par Nikita0511 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/08/2008, 09h10
  3. [log4j]nom de fichier properties differents
    Par lanfeustdetroll dans le forum Logging
    Réponses: 2
    Dernier message: 28/09/2007, 09h21
  4. [log4j] Mettre le fichier properties où l'on veut
    Par laurent.c123 dans le forum Logging
    Réponses: 4
    Dernier message: 27/09/2007, 17h35
  5. Configurer mail.properties à partir d'une BD?
    Par Hminos dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 15/05/2007, 17h37

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