Bonjour,

Je travaille sur un projet qui utilise log4cxx.

J'ai besoin d'afficher les messages de DEBUG sur la console et mettre les autres messages (INFO, WARN...) dans un fichier .log

Dans le fichier de configuration j'ai mis les liges suivantes:

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
 
# Set root logger level to DEBUG and its only appender to A2.
log4j.rootLogger=DEBUG, A2
# A2 is set to be a ConsoleAppender.
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d | %5p | %m%n
 
# Set root logger level to INFO and its only appender to A1.
log4j.rootLogger=INFO, A1
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Define parameters for log file
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=/root/filtrageMac/macLog.log
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.layout.ConversionPattern=%d | %5p | %F %m%n
J'obtiens avec ce fichier de configuration des messages INFO ainsi que des messages de niveau superieur dans le fichier .log et pas de message de DEBUG sur la console.
Si je change l'ordre de définition des level (c'est à dire définir INFO avant DEBUG) j'obtiens sur la console tous les DUBUG ainsi que les messages du niveau superieur (INFO, WARN ....). Ce que j'ai compri que seulement le dernier level est pris en consideration.

Comment je peux corriger ce problème. Avez vous une solution?

Merci d'avance.