IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Afficher les flux out et err sur la console Windows


Sujet :

Eclipse Platform

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Afficher les flux out et err sur la console Windows
    Bonjour,

    J'ai une application RCP et je souhaiterais, lors du lancement de celle-ci, récupérer les flux de sortie (via la console Windows) afin de les utiliser avec un autre programme. Autrement dit, j'aimerais pouvoir récupérer tout ce qui sort dans la console d'Eclipse lorsque je lance l'application à partir d’Eclipse.

    Le lancement avec les arguments -console ou -consoleLog m'ouvre une autre console.

    J'ai un code assez standard qui fonctionne pour récupérer le OutputStream et ErrorStream:
    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
    22
    23
    24
    25
    26
    27
    final Process process = Runtime.getRuntime().exec("toto.exe");
     
    new Thread() {
        public void run() {
            try {
                BufferedReader inputReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
                BufferedReader errorReader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
                String line = "";
                try {
                while((line = inputReader.readLine()) != null) {
                    inputText = inputText + line;
                }
                System.out.println(inputText);
     
                while((line = errorReader.readLine()) != null) {
                        errorText = errorText + line;
                }
                System.out.println(errorText);
                } finally {
                errorReader.close();
                inputReader.close();
                }
            } catch(IOException ioe) {
                ioe.printStackTrace();
            }
        }
    }.start();
    Quelqu'un saurait-il m'indiquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    Ceci ne suffit pas ?
    eclipse > test.log
    Sinon, personnellement je ne saurais pas te dire si c'est faisable ou non.

    Le fichier de log présent dans le répertoire .metadata de ton workspace ne te convient pas ? C'est sûr que ce n'est pas la même chose mais tout dépend de ce que tu veux en faire de ces traces...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    tu peux, au démarrage de ton application (par l'extension org.eclipse.ui.startup), enregistrer un listener sur les logs RCP par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Platform.addLogListener(ILogListener)
    mais il te faudra toi même formater les messages (qui sont sous la forme d'instance de IStatus) pour les envoyer vers System.out ou System.err.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Alors en fait j'ai déjà des Status qui sortent avec un ILog et même des System.err ou out et je les vois bien sortir. Le problème c'est que si je lance le programme avec l'argument eclipse runtime -consoleLog ça m'ouvre une autre console et donc je ne peux pas les récupérer avec le code ci dessus.

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Epiliptik Voir le message
    Alors en fait j'ai déjà des Status qui sortent avec un ILog et même des System.err ou out et je les vois bien sortir. Le problème c'est que si je lance le programme avec l'argument eclipse runtime -consoleLog ça m'ouvre une autre console et donc je ne peux pas les récupérer avec le code ci dessus.
    Mais si tu n'utilises pas -consoleLog et que envoies à System.out (ou à un fichier externe, c'est une autre possibilité) les messages depuis le listener dont je parlais, ça ne sort pas dans la console standard (que tu peux récupérer par le code que tu as posté précédemment, ou par redirection dans ta commande de lancement) ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Oui c'est ça le problème avec ou sans le consoleLog le System.out ne ressort pas sur la console windows et le code que j'ai mis précédemment ne récupère pas le texte...

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Epiliptik Voir le message
    Oui c'est ça le problème avec ou sans le consoleLog le System.out ne ressort pas sur la console windows et le code que j'ai mis précédemment ne récupère pas le texte...
    je suppose qu'il y a un paramétrage quelque part, parce que dans mon application RCP, tout ce qui est envoyé au System.out et System.err n’apparaît pas dans le .log.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/05/2007, 15h46
  2. Réponses: 7
    Dernier message: 30/12/2006, 01h26
  3. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  4. Afficher les données d'un champ sur une ligne
    Par white-angel dans le forum Access
    Réponses: 6
    Dernier message: 30/08/2006, 11h09
  5. [RSS] Afficher les flux RSS d'autres sites sur sa page
    Par vallica dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/06/2006, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo