Bonjour,

j'ai un petit soucis avec LOG4J et la fonction trace().

J'utilise la version 1.2.13 (j'ai aussi testé avec la version 1.3alpha8).

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
public class Main {
	private final Logger logger = Logger.getLogger(Main.class);
 
	public static void main(String[] args) throws ConfigurationException {
		new Main().run();
	}
	public void run() throws ConfigurationException {
		// Init log4J !
		DOMConfigurator.configure("my.log4j.xml");
		logger.info("Application started");
		logger.debug("Debug 1");
		logger.log(Level.TRACE, "Trace 1");
		logger.debug("Debug 2");
		System.exit(0);
	}
}
et le fichier my.log4j.xml...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
   <appender name="log" class="org.apache.log4j.ConsoleAppender">
      <param name="threshold" value="TRACE"/>
      <param name="target" value="System.out"/>
      <layout class="org.apache.log4j.SimpleLayout"/>
   </appender>   
   <root>
      <appender-ref ref="log" />
   </root>
</log4j:configuration>
Si je modifie le threshold à INFO, j'ai 1 message, à DEBUG, j'en ai 3, mais si je mets TRACE ou ALL, je ne vois toujours pas le 4e message (Trace 1).

Je cherche depuis 2 jours sans succès. J'ai même changé la méthode logger.trace("") par logger.log(Level.TRACE,""), mais c'était un bug de la version 1.2.12. J'ai testé la version 1.3alpha8, et c'est idem !

Une idée ?

Merci