2008-10-01 11 views
2

Je développe actuellement une application RCP Eclipse. Pour la journalisation, j'utilise SFL4J sur log4j. Pour mon propre code cela fonctionne bien puisque je peux spécifier le bon enregistreur (LoggerFactory.getLogger ... logger.debug ...). Mais comment puis-je rediriger tous les logs du plugin au même endroit, de sorte que je puisse voir toutes les exceptions des autres plugins rcp dans mon log4j-LogFile. Comment puis-je enregistrer des exceptions non interceptées dans mon fichier journal?Rediriger les messages ILog

J'ai entendu parler d'ILog mais je ne sais pas comment rediriger cela vers mon implémentation log4j/slf4j.

Alors, quel est le meilleur moyen de consigner tous les messages de plug-in dans un fichier journal?

Répondre

4

Pour capturer les événements de journal pour l'ensemble de la plateforme, créez une instance ILogListener et enregistrez-la à l'aide de Platform.addLogListener (ILogListener). En ce qui concerne la consignation des exceptions non interceptées, une façon de le faire consiste à créer un nouveau ThreadGroup et à surcharger uncaughtException (Thread t, Throwable e) pour consigner l'exception. Vous devez ensuite commencer un nouveau thread dans ce groupe de threads et faire tout le reste à l'intérieur. Je prends soin de cela dans la méthode run de mon implémentation de IPlatformRunnable.

Questions connexes