Hintergrund: Hallo! Bitte denken Sie daran, dass ich in Java ziemlich neu bin, also vergib mir, wenn ich etwas falsch gemacht habe. Ich habe versucht, meine Konsole zu formatieren und ihre Ausgabe für 2 Tage in eine Textdatei zu speichern. Hier ist mein Code so weit:Wie formatieren und speichern Sie die Konsolenausgabe in einer Datei in Java?
Ich versuche, das Format der Konsole
[2017.12.20 23.55.30] Programm zu setzen (Meldung hier)
und ich bin es, wie dies zu tun:
public class Format {
private static final DateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
PrintStream console = new PrintStream(System.out) {
public void println(String x) {
Date date = new Date();
super.println("[" + sdf.format(date) + "] " + "program(" + x + ")");
}
};
Zusammen mit diesem:
public void progStream() throws FileNotFoundException {
System.setOut(console);
System.out.println("This is a test.");
}
Bis hier funktioniert es gut und ich kann sehen, dass alle Systemausgaben auf der Eclipse-Konsole mit dem richtigen Format angezeigt werden. Wenn ich jedoch versuche, eine Textdatei zu speichern, wird nur die Nachricht gespeichert. Ohne das Format.
public void progStream() throws FileNotFoundException {
File log = new File("log" + System.currentTimeMillis() + ".txt");
FileOutputStream fos = new FileOutputStream(log);
PrintStream console = new PrintStream(fos);
System.setOut(console);
System.out.println("This is a test.");
}
Ich habe versucht, System.out.println("message");
mit console.print("message");
ersetzen aber ich habe das gleiche Problem. Leider habe ich keine Tutorials und Foren mehr, um nachzusehen, und ich kann immer noch keine Lösung finden. Danke für Ihre Hilfe.
Verwenden Sie eine Protokollierungs-API, es ist eine in der Kern-API eingebaut oder Sie könnten etwas 'Log4j' verwenden – MadProgrammer
Können Sie versuchen, einen einfachen ganzen Code zu veröffentlichen, wie teilweise Codes sind sehr verwirrend zu verstehen –