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:
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
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
ps: j'ai reduit le code pour faire mes test...
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); }
merci d'avance pour votre aide!
Partager