Bonjour tout le monde,

je suis actuellement en train d'utiliser log4j dans un de mes programmes ( et je decouvre ) et j'ai un petit probleme avec une fonction.

En gros j'ai deux niveau dans mes log, debug et info, les deux ecrivent à la fois dans la console (ConsoleAppender) et dans un fichier (FileAppender). ces configuration sont faites par le biais d'un fichier log4j.property. Dans mon programme j'ai a un moment une option "SILENT" qui supprimer tout affichage sur la console. il faut donc que je supprime l'appender consoleAppender. pour cela je passe par la fonction logger.removeAppender(String appenderName).

et...ca ne marche pas :s

ci-joint mon log4j.property:
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
 
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=DEBUG, CONSOLE, LOGFILE
 
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
 
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
et ce que je fais dans mon prog:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
public static void main(String[] args)  {
 
        /* Gestion du log par l'intermediaire de log4j */
        org.apache.log4j.PropertyConfigurator.configure("log4j.properties");
 
        logger.removeAppender("log4j.appender.CONSOLE");       
 
        logger.debug("DEBUG");
        logger.info("STANDART");
        System.exit(0);
}
ps: j'ai reduit le code pour faire mes test...

merci d'avance pour votre aide!