Publié le 21/09/2010
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
1 commentaires

Rediriger les donnees de la console vers un fichier

Pendant l'exécution d'une application JAVA, les données de debug s'affichent dans la console. Tous les IDE affichent ces informations en bas de la fenêtre afin de permettre au développeur de suivre l’exécution de son logiciel. La console se composent notamment des erreurs et des alertes qui permmettent de trouver plus facilement l'origine des bugs.

Enregistrer la console dans un fichier

Pour faciliter la lecture ou établir un log, la console peut ętre redirigée vers un fichier texte. Dans l'exemple ci-joint, le nom du fichier est unique et basé sur l'heure actuelle.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.Date;
 
/**
 * Rediriger les entrées de la console vers un fichier
 */
public class TheMainClass {
 
    public static void main(String[] args) {
        //Créer un nom de fichier basé sur la date et l'heure
        SimpleDateFormat filePattern = new SimpleDateFormat("ddMMyyyy_HHmm");
        String filename=filePattern.format(new Date()) + ".txt";
        //ouvrir le fichier
        File file = new File("c://myapp_"+filename);
        try {
            PrintStream printStream = new PrintStream(file);
            System.setOut(printStream);
            System.out.println("Exemple de log de l'application JAVA");
            System.out.println("Tout ce qui apparait dans la console est repris dans le fichier");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

Un usage de la redirection de la console est d'écrire un fichier log. Par exemple, lorsque l'utilisateur vous remonte un bug dont il ne sait pas trop comment cela est arrivé, l'enregistrement des erreurs dans un fichier permet d'avoir un peu plus d'information.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.
avatar fredouille

Publié par fredouille

le 05/05/2011 à 16:27:26

Il ne faut pas oublier de mettre aussi System.setErr(printStream); pour ne pas oublier les printStackTrace() declenches par le catch

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - tutorial
Mise a jour
21/09/2010
Visualisation
vu 6649 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par fobec dans logiciel

MAJ: mise en cache du FAI et optimisation du script de Geolocalisation.

Publié par Fobec dans tuto

Pour la distribution Linux Mint 12 Lisa, saisir dans le terminal:
# sudo service lightdm restart

Publié par Marmz dans java

Super ! pile ce que je cherchais , merci Mr Fobec

Publié par l'indik dans java

Sauf que si l'objet n'est plus utilisé, quand tu fait ton new , la mémoire sera automatiquement libéré si cela est nécessaire. Donc l'utilisation de System.gc() n'es...

Publié par Bonjour dans java

Joli travail!
Par contre, savez vous que votre barre de progression s'arrête à un certain pourcentage?