Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Rediriger la console Java vers un fichier avec ajout de la date heure

10/10/2019

Voici une routine redirigeant la sortie standard du système vers un fichier particulier, en préfixant chaque ligne des données date et heure. Ce n'est évidemment pas du niveau de Log4J mais cela peut répondre à un besoin ponctuel.

package routines;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
 *
 * Export des logs de la console vers un fichier
 * ex : System.out.println("test");
 *
 */

public class LogConsoleVersFichier extends PrintStream {
    /**
     * Initialisation
     * @param sFichierDesti
     * @throws FileNotFoundException
     */

 public static void initialise(String sFichierDesti) throws FileNotFoundException {
    java.io.File file = new java.io.File(sFichierDesti);
    java.io.PrintStream ps = new java.io.PrintStream(new java.io.FileOutputStream(file));
    System.setOut(new LogConsoleVersFichier(ps));
    System.setErr(new LogConsoleVersFichier(ps));
 }
 public LogConsoleVersFichier(OutputStream out) {
 super(out);
 }
 /**
 * Ajout de la date-heure sur chaque ligne
 */

 @Override
 public void println(String string) {
    String sTimeStamp = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS").format(Calendar.getInstance().getTime());
    super.println(sTimeStamp + ";" + string);
 }
}

Pour l'appeler : 

routines.LogConsoleVersFichier.initialise("c:\\monfichier.log");
Dernière modification le 12/10/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations