Hallo zusammen,
ich habe mich damit zwar noch nicht näher beschäftigt ich weiß, dass es zu Logging verschiedene APIs gibt, wollte jetzt aber mal auf die Schnelle eine Logfile auf die Festplatte bannen ohne, dass ich verschiedene Level festlege und externe Libs einbinden muss.
Spricht gegen die folgende Implementierung etwas?
close() wird aufgerufen, wenn das Programm ordnungsgemäß beendet wird.
Es funktioniert alles einwandfrei, da ich mir aber keine größeren Gedanken darüber gemacht habe wollte ich das ganze mal Reviewen lassen.
ich habe mich damit zwar noch nicht näher beschäftigt ich weiß, dass es zu Logging verschiedene APIs gibt, wollte jetzt aber mal auf die Schnelle eine Logfile auf die Festplatte bannen ohne, dass ich verschiedene Level festlege und externe Libs einbinden muss.
Spricht gegen die folgende Implementierung etwas?
close() wird aufgerufen, wenn das Programm ordnungsgemäß beendet wird.
Es funktioniert alles einwandfrei, da ich mir aber keine größeren Gedanken darüber gemacht habe wollte ich das ganze mal Reviewen lassen.
Java:
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class Logger {
private FileWriter writer;
private static Logger instance;
public static synchronized Logger getInstance() {
if (instance == null)
instance = new Logger();
return instance;
}
private Logger() {
try {
writer = new FileWriter(SettingsManager.getInstance().getTempDirectory() + "log.txt", true);
log("------------------------------------------------");
log("------------------------------------------------");
log("Starte session: " + new Date(System.currentTimeMillis()));
log("------------------------------------------------");
log("------------------------------------------------");
} catch (IOException e) {}
}
public void log(Object o) {
log(o.toString());
}
public void log(String text, boolean newLine) {
try {
writer.write(text + (newLine? "\r\n" : ""));
if (newLine)
writer.flush();
} catch (IOException e) {}
}
public void log(String text) {
log(text, true);
}
public void close() {
try {
log("--------------------------");
log("--------------------------");
log("Programm beendet");
writer.close();
} catch (IOException e) {}
}
}