Bonjour,
je fais actuellement des essais avec log4j.
J'aimerai utiliser un fichier de parametrage log4j.xml dont voici le code
Le problème c'est que j'aimerai externaliser le paramètre du fichier de l'appender 'filedebug'
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- ================================= --> <!-- Preserve messages in a local file --> <!-- ================================= --> <!-- ============================== --> <!-- Append messages to the console --> <!-- ============================== --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out"/> <param name="Threshold" value="INFO"/> <layout class="org.apache.log4j.PatternLayout"> <!-- The default pattern: Date Priority [Category] Message\n --> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> <!-- <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/> --> </layout> </appender> <appender name="fileinfoup" class="org.apache.log4j.FileAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> </layout> </appender> <appender name="filedebug" class="org.apache.log4j.FileAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/> </layout> <filter class="org.apache.log4j.varia.LevelMatchFilter"> <param name="levelToMatch" value="DEBUG"/> </filter> <filter class="org.apache.log4j.varia.DenyAllFilter"/> </appender> <!-- ================ --> <!-- Limit categories --> <!-- ================ --> <!-- ======================= --> <!-- Setup the Root category --> <!-- ======================= --> <!-- <category name="com.monoprix" additivity="false">--> <!-- <priority value="INFO" /> --> <!-- <appender-ref ref="CONSOLE"/> --> <!-- </category>--> <root> <appender-ref ref="console"/> <appender-ref ref="fileinfoup"/> <appender-ref ref="filedebug"/> </root> </log4j:configuration>
Voici ma methode de test
Avec ce code j'ai un nullPointerException... En effet la variable fileAppender est null. Comment faire pour pouvoir paramétrer le fichier de sortie en dehors du fichier xml.
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 public static void main(String[] args) { Logger logger = Logger.getLogger(Test.class); FileAppender fileAppender = (FileAppender) logger.getAppender("filedebug"); fileAppender.setFile("G:/test.log"); logger.addAppender(fileAppender); logger.debug("999 AVENUE DE LA REPUBLIQUELES ALLEES DU PARC----"); String adresse="999 AVENUE DE LA REPUBLIQUELES ALLEES DU PARC----"; if(adresse.length()>50){ adresse = adresse.substring(0,47); adresse = adresse+"..."; logger.debug(adresse.length()); } } }
Merci
Partager