bonjour j ai deux appenders differents que je dois
programmer leur Level par programmation soit la console et le log4j.appender.file
par defaut bien sur il prend mon log4j.properties
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
 
 
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
 
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxFileSize=100KB
log4j.appender.file.maxBackupIndex=5
log4j.appender.file.File=log.text
log4j.appender.file.threshold=off
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=warn, stdout,file
 
log4j.logger.ca.canassistance=debug
et mon code java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
fileAppender.setFile(cheminLogs + "\\" + getNomJob() + ".log", true,
				true, fileAppender.getBufferSize());
		fileAppender.setMaxFileSize(propertiesLog.get("LogFileSize"));
		fileAppender.setMaxBackupIndex(Integer.parseInt(propertiesLog
				.get("LogFileCount")));
		if(!"".equals(propertiesLog.get("nomLogFile")) &&( null!=propertiesLog.get("nomLogFile"))) 
                                       //Fonctionne pas
			fileAppender.setName(propertiesLog.get("nomLogFile"));		             //Fonctionne pas
			Logger.getLogger("file").setLevel(Level.WARN);

		fileAppender.activateOptions();
Ce code ne fonctionne pas. Le fichier log a toujours le meme nom donc le setNom fonctionne pas et tout les info sont affiché donc le setLevel nom plus.