Bonjour,
Je travaille actuellement sur une application web (JSF + Spring + Hibernate sur Tomcat), et j'essaye vainement de logger mes messages avec Log4J.
Voici mon fichier de conf :
Les problèmes sont que :
Code xml : 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
35
36
37
38
39
40
41
42
43
44 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" reset="true" threshold="all" debug="true"> <appender name="filedebug" class="org.apache.log4j.FileAppender"> <param name="file" value="K:\\Appli\\logs\\debug.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%c] %-5p - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelMatchFilter"> <param name="levelToMatch" value="DEBUG"/> </filter> <filter class="org.apache.log4j.varia.StringMatchFilter"> <param name="StringToMatch" value="Appli:" /> <param name="AcceptOnMatch" value="true" /> </filter> <filter class="org.apache.log4j.varia.DenyAllFilter"/> </appender> <appender name="fileinfoup" class="org.apache.log4j.FileAppender"> <param name="file" value="K:\\Appli\\logs\\infoup.log"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%c] %-5p - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="levelMin" value="INFO"/> <param name="levelMax" value="FATAL"/> </filter> <filter class="org.apache.log4j.varia.StringMatchFilter"> <param name="StringToMatch" value="Appli:" /> <param name="AcceptOnMatch" value="true" /> </filter> <filter class="org.apache.log4j.varia.DenyAllFilter"/> </appender> <logger name="AppliLogger" additivity="true"> <level value="DEBUG"/> <appender-ref ref="filedebug" /> <appender-ref ref="fileinfoup"/> </logger> <root> <appender-ref ref="fileinfoup"/> <appender-ref ref="filedebug" /> </root> </log4j:configuration>
- Les logs n'apparaissent dans mes fichiers qu'à l'arrêt du serveur, même en utilisant les champ "ImmediateFlush" et "bufferedIo" ça ne change rien.
- En développement, j'utilise Eclipse et le plugin Tomcat, et j'aimerais éviter de mettre un chemin de fichier dans le fichier de configuration log4j. Est-ce qu'en production un chemin relatif conviendrait ?
Voici la sortie de la console après chargement du fichier de configuration
Quelqu'un saurait-il m'indiquer comment résoudre ces problèmes ?log4j: reset attribute= "true".
log4j: Threshold ="all".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [AtoriLogger] additivity to [true].
log4j: Level value for AppliLogger is [DEBUG].
log4j: AppliLogger level set to DEBUG
log4j: Class name: [org.apache.log4j.FileAppender]
log4j: Setting property [file] to [K:\Appli\logs\debug.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} [%c] %-5p - %m%n].
log4j: Setting property [levelToMatch] to [DEBUG].
log4j: Adding filter of type [class org.apache.log4j.varia.LevelMatchFilter] to appender named [filedebug].
log4j: Setting property [stringToMatch] to [Appli:].
log4j: Setting property [acceptOnMatch] to [true].
log4j: Adding filter of type [class org.apache.log4j.varia.StringMatchFilter] to appender named [filedebug].
log4j: Adding filter of type [class org.apache.log4j.varia.DenyAllFilter] to appender named [filedebug].
log4j: setFile called: K:\Appli\logs\debug.log, true
log4j: setFile ended
log4j: Adding appender named [filedebug] to category [AtoriLogger].
log4j: Class name: [org.apache.log4j.FileAppender]
log4j: Setting property [file] to [K:\Appli\logs\infoup.log].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} [%c] %-5p - %m%n].
log4j: Setting property [levelMin] to [INFO].
log4j: Setting property [levelMax] to [FATAL].
log4j: Adding filter of type [class org.apache.log4j.varia.LevelRangeFilter] to appender named [fileinfoup].
log4j: Setting property [stringToMatch] to [Appli:].
log4j: Setting property [acceptOnMatch] to [true].
log4j: Adding filter of type [class org.apache.log4j.varia.StringMatchFilter] to appender named [fileinfoup].
log4j: Adding filter of type [class org.apache.log4j.varia.DenyAllFilter] to appender named [fileinfoup].
log4j: setFile called: K:\Appli\logs\infoup.log, true
log4j: setFile ended
log4j: Adding appender named [fileinfoup] to category [AppliLogger].
log4j: Adding appender named [fileinfoup] to category [root].
log4j: Adding appender named [filedebug] to category [root].
Je travaille sous Windows Seven, avec Eclipse 3.6.2 Helios.
Merci d'avance pour votre aide.
Partager