Index: lutinutil/src/java/org/codelutin/log/package.html diff -u /dev/null lutinutil/src/java/org/codelutin/log/package.html:1.1 --- /dev/null Wed Sep 13 13:27:10 2006 +++ lutinutil/src/java/org/codelutin/log/package.html Wed Sep 13 13:27:05 2006 @@ -0,0 +1,107 @@ + +
+ +Ce package permet de mettre en place facilement des logs dans les applications. +Il se base sur commons-logging de cette façon toutes les applications existantes +utilisant commons-logging sont compatible avec LutinLog. ++LutinLog ajout les fonctionnalités suivantes: +
java -Dorg.apache.commons.logging.LogFactory=org.codelutin.log.LutinLogFactory+ +ensuite soit vous n'avez pas besoin des nouvelles fonctionnalités et vous pouvez +utiliser commons-logging comme habituellement. + +
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+class Toto {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(Toto.class);
+
+ public void Titi() {
+ if (log.isTraceEnabled()) {
+ log.trace("Titi called");
+ }
+ }
+
+
+Ou si vous souhaitez utiliser les nouvelles fonction
+
+
+import org.codelutin.log.LutinLog;
+import org.codelutin.log.LutinLogFactory;
+
+class Toto {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private LutinLog log = LutinLogFactory.getLutinLog(Toto.class);
+
+ public void Titi() {
+ if (log.isTraceEnabled()) {
+ log.trace("Titi called");
+ }
+ // ... do something
+ log.setActivateProgressMonitorTime(1000);
+ log.user("task started");
+ log.setMin(0);
+ log.setMax(100);
+ log.start();
+ // ...
+ for (int i=0; i<100; i++) {
+ if (log.isAskStopTask()) {
+ break;
+ }
+ log.setValue(i);
+ //...
+ }
+ //...
+ log.end();
+ log.user("task finished");
+ }
+
+
+Dans cette exemple si la tâche dur plus de 1s (1000 millisecondes) alors la
+fenêtre de suivi de la tâche est montrer. Sur cette fenêtre l'utilisateur peut
+demander l'arret de tâche, on vérifie dont au début de chaque boucle que
+l'utiilisateur n'a pas demandé l'arret de la tâche.
++Il est bien sur possible d'utiliser ces propres composant pour afficher +l'avancement d'une tâche, Il est bien sur possible de faire soit même les +listener qui sont à l'écoute du LutinLog, mais il est souvent plus simple +d'utiliser MonitorMapper. Il suffit de lui passer en argument les composants +à mettre a jour. +
+Il faut bien faire attention de garder une variable accessible de MonitorMapper +car sinon il ne se passera rien, cela est du au fait que les listeners de +LutinLog sont tous encapsulé dans des WeakReference, pour éviter les fuites +mémoire en ajoutant tout le temps de listener sans jamais les supprimer. Ici +la suppression est automatique. + + + + \ No newline at end of file