probleme de configuration par programmation
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:
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:
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.