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 6590 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par inf0mag dans news

Et avec les objets connectes, a va encore exploser !

Publié par Laurent dans java

Merci :)
Teste sous Linux CentOS, fonctionne mais ne recouvre pas la barre des taches.

Publié par Kezouille dans java

Bonjour Axel,

Merci pour ce petit guide qui m'a bien aide dans ma tache. En effet j'ai developpe une petite application afin de detecter l'ajout d'un fichier une image dans un repertoire et de...

Publié par leflo dans php5

Bonjour
Sans parler du fait que l'IP peut ne pas vouloir dire grand chose, en cas de proxy/translation comment on fait? On voit pas et on interdit tout meme si l'utilisateur n'est pas responsa...

Publié par Yannick dans tuto

Sur un de mes sites j'ai vraiment du mal a gerer le gzip sur 1and1, Je vais tout de suite tester tout ca et je vous tiens informe :)