Bonjour,
Mon projet se découpe en couche (web-app, coordination, service, domaine, persistence, transverse). Chaque sous projet (chaque couche) génère un jar, qui sera mis dans le WEB-INF/lib de web-app, qui elle sera packagée en war et déployée sur le serveur (TomCat pour l'instant).
J'ai mis le log4j.properties dans le sous projet web-app, mais quand j'utilise un logger dans coordination par exemple, ça ne génère rien dans mon fichier de log.
Comment faire pour n'avoir qu'un seul log4j.properties et que tous les sous-projet l'utilisent ?
Si je mets le log4j dans transverse (chaque sous-projet le référence), j'ai un warn au démarrage me disant qu'il ne trouve pas d'Appender pour le logger. J'ai donc des logs "par défaut", et mes debug de coordination ne s'affichent pas.
Si je mets le log4j.properties dans web-app, il trouve bien le logger et logs tout ce qui est relatif à web-app, mais pas mes debug de coordination.
Idem si je duplique ce log4j.properties dans web-app et transverse.
Mon log4j.properties :
Mes appels dans le ssous-projet "coordination" :
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 # Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=DEBUG, A1, CRM # A1 is set to be a ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n # CRM is set to be a FileAppender. log4j.appender.CRM=org.apache.log4j.FileAppender log4j.appender.CRM.File=C:/{...}/crm.log log4j.appender.CRM.layout=org.apache.log4j.PatternLayout log4j.appender.CRM.layout.ConversionPattern=%d [%t] %-5p %c %x - %m%n log4j.logger.com.abw=debug, CRM log4j.logger.org.apache.commons=error, CRM log4j.logger.org.apache.jasper=error, CRM log4j.logger.org.apache.axis=error, CRM log4j.logger.org.apache.catalina=error, CRM log4j.logger.org.apache.struts=debug, CRM log4j.logger.org.apache.struts.action=error, CRM log4j.logger.org.apache.struts.taglib=error, CRM log4j.logger.org.apache.struts.tiles=error, CRM log4j.logger.org.apache.struts.util=error, CRM log4j.logger.org.apache.struts.validator=error, CRM log4j.logger.org.displaytag.filter=error, CRM log4j.logger.com.mchange=error, CRM log4j.logger.org.springframework=error, CRM log4j.logger.org.hibernate=error, CRM
Merci pour vos lumières.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 private Logger log = Logger.getLogger(LoginAction.class); log.debug("Entering login...");
PS : Eclipse 3.2.0
Struts 1.2.7
Spring 1.2.5
commons-logging 1.0.4
log4j 1.2.9
TomCat 5.0.28
Partager