Bonjour
J'aimerais savoir si il y a un moyen dans log4j de lister qu'une classe specifique (%c) en mode debug ?
Et si oui comment ?
Version imprimable
Bonjour
J'aimerais savoir si il y a un moyen dans log4j de lister qu'une classe specifique (%c) en mode debug ?
Et si oui comment ?
Explique ce que tu veux faire vraiement:
- changer le level de trace pour une classe particuliere
- changer le pattern de l'appender pour une classe particuliere
Le premier est très simple, pour le second je vois qu'une solution (à première vue) c'est l'utilisation d'un deuxième appender.
Précise ton besoin en tout cas.
Matthieu
Voici un bout de mon log
J'aimerais que pour la category com.pega.pegarules.engine.database.RDBPageResultPackager il m'affiche tous les level (debug compris).Code:
1
2
3 Time Thread Level Category Message 437114427 PegaRULES-Batch-20788 (Pega-ProCom #2 @ 20060919T100125.156 GMT) INFO com.pega.pegarules.engine.database.RDBPageResultPackager Found 1 results executing the query. 437114615 PegaRULES-Batch-20788 (Pega-ProCom #2 @ 20060919T100125.156 GMT) INFO com.pega.pegarules.engine.database.RDBPageResultPackager Found 0 results executing the query.
Alors que pour toutes les autres categories : (ex com.pega.pegarules.engine.database.PermissionTrack) il ne m'affiche que info, warn, error, fatal
Merci beaucoup
La seule à faire donc est d'activer par défaut le level INFO et de spécifier que pour ta classe en question tu veux aussi le level DEBUG.
Si tu fais un paramétrage en utilisant le fichier log4j.properties tu doit mettre quelque chose comme cela:Celà aura donc pour effet de positionner tous les loggers dont le nom commence par com.pega avec un level INFO et le logger com.pega.pegarules.engine.database.RDBPageResultPackager avec un level DEBUG.Code:
1
2 log4j.logger.com.pega=INFO log4j.logger.com.pega.pegarules.engine.database.RDBPageResultPackager=DEBUG
Matthieu
Super ! Merci
il y a t il un autre moyen ?
Parce que je n'ai accès qu'au fichier log4j.xml
Je susi sur un Websphere avec PegaRules installé dessus.
Bon je voici une configuration basique qui trace tout en INFO et qui trace avec un appender particulier tout le level DEBUG du logger com.pega.pegarules.engine.database.RDBPageResultPackager.J'espère que cela t'aideras.Code:
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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> <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"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> </layout> </appender> <appender name="CONSOLE_DEBUG" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.err"/> <param name="Threshold" value="DEBUG"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMin" value="DEBUG" /> <param name="LevelMax" value="DEBUG" /> </filter> </appender> <category name="com.pega"> <priority value="INFO"/> </category> <category name="com.pega.pegarules.engine.database.RDBPageResultPackager" additivity="true"> <priority value="DEBUG"/> <appender-ref ref="CONSOLE_DEBUG"/> </category> <!-- Setup the Root category --> <root> <appender-ref ref="CONSOLE"/> </root> </log4j:configuration>
Matthieu