• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Logdatei erstellen

2801MC

Kuhfänger
Registriert
15 August 2013
Beiträge
77
Diamanten
0
Hallo,
Ich möchte im Ordner plugins/<mein-plugin> neben der Config.yml noch eine joinlog.txt und eine deathlog.txt erstellen.
In dieser soll immer wenn ich die Methode joinlog(string) oder deathlog(string) aufrufe eine neue zeile hinzugefügt werden, ich habe leider keine ahnung, wie sowas geht, könnte es mir jemand erklären?
Es ist nicht das erste Plugin, dass ich programmiere, ich habe schon viele programmiert.
 

2801MC

Kuhfänger
Registriert
15 August 2013
Beiträge
77
Diamanten
0
Also könnte ich es jetzt einfach diese Methode erstellen:
Code:
public static void log(String log, String text) throws IOException {
    FileWriter fw = new FileWriter("cblogs/" + log + "log.txt");
    fw.write(text + "\n");
    fw.close();
}

Oder müsste ich da noch was anders machen?

Würde dann auch beide jedem aufruf in die nächste zeile geschrieben werden?
 

2801MC

Kuhfänger
Registriert
15 August 2013
Beiträge
77
Diamanten
0
Ich habs jetzt mal versuchs, ich habe diese methode erstellt:
Code:
public void cblog(String log, String text) throws IOException {
        FileWriter fw = new FileWriter("cblogs/" + log + "log.txt");
        fw.write(text + "\n");
        fw.close();
    }

Und im JoinEvent ist dieser Code mit drin:

Code:
Player p = e.getPlayer();
        try {
            cblog("join", p.getName());
        } catch (IOException e1) {
            e1.printStackTrace();
        }

Wenn jetzt aber ein Spieler joint, dann wird keine datei erstellt...
 

Nightishaman

Kuhfänger
Registriert
3 Januar 2015
Beiträge
51
Alter
25
Diamanten
300
Es gibt ne viel Bessere Methode alles zu loggen:

private Logger logger;

public void log(String string) {
if(logger == null) {
logger = Logger.getLogger("Deinpluginname");
FileHandler fh = new FileHandler(new File("DEINPLUGINNAME.log").getAbsolutePath());
SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
logger.addHandler(fh);
}
logger.log(Level.INFO, string);
}
FERTIG
 
Oben