Réponse acceptée !
Salut,
"De plus, j'ai entendu parlé de log4J mais il me parait tropcompliqué pour mon projet qui est relativement petit."
>>Log4j c'est surtout pour avoir une normalisation des logs basée sur le protocole syslog.
"En ce qui concerne les fichiers de log, comment puis les créer ? Pour l'instant je crée juste un fichier que je nomme "monLog.log" et j'écrit dans ce fichier avec un BufferedWriter. N'y a t il pas une méthode plus "pro" pour faire ça ?"
>>Une solution simple qui ne flinguerai pas ton code et surtout tes « er.printStackTrace() » consisterait à rediriger le flux d'erreur vers le fichier log tout en gardant ton code en l'état.
L'exemple ci-dessous montre comment rediriger System.out et System.err vers un fichier :
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class Test {
public static void main(String[] args) {
PrintStream stdout = getPrintStream("stdout.log");
PrintStream stderr = getPrintStream("stderr.log");
if(stdout != null)
System.setOut(stdout);
if(stderr != null)
System.setErr(stderr);
//utilisation de System.out et System.err normalement
System.out.println("Test stdout");
System.err.println("Test stderr");
//exemple avec une exception
try {
((String)null).toCharArray();
} catch(NullPointerException e) {
e.printStackTrace();
}
if(stdout != null)
stdout.close();
if(stderr != null)
stderr.close();
}
public static PrintStream getPrintStream(String file) {
try {
return new PrintStream(new FileOutputStream(new File(file)));
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
OoWORAoO