# Logs - txt-Datei neue Zeile anfuegen, neue Datei erstellen



## Bjoern123 (4. Okt 2008)

Hallo,
ich hab ein kleines servertool in Java auf das oefters zugegriffen wird. Bei jedem neuen Zugriff soll eine Methode aufgerufen werden, die IP-Adresse sowie die Uhrzeit gespeichert werden. Das ganze soll in eine txt Datei rein. 

1. Mit BufferedWriter usw. hab ichs bisher nur geschafft, dass die Datei dann ganz von vorne geschrieben wird. Wenn aber meinetwegen schon 5 Eintraege drin sind waer es bloed diese wieder einzulesen und dann neu reinzuschreiben. Ich moechte einfach, dass eine neue Zeile ergaenzt wird. Der alte Text soll in der Datei drin bleiben. 

2. Fuer jeden Tag soll eine neue Textdatei genommen werden, da das sonst zu viel wird. Kann ich anstatt "log.txt" auch String logName auch als Datei angeben? Dann koennt ich logName ja immer abhaengig vom Tag belegen...

Gruss
Bjoern


----------



## Gelöschtes Mitglied 5909 (4. Okt 2008)

nehm einfach log4j, alles andere ist schwachsinn


----------



## Bjoern123 (4. Okt 2008)

Danke fuer die Antwort. Geht es auch irgendwie ohne log4j? Waere mir am liebsten...


----------



## SlaterB (4. Okt 2008)

1.
schau dir die Konstruktoren von FileWriter an, oder was immer du benutzt,
Parameter append muss true sein

2.
ja


----------



## Bjoern123 (4. Okt 2008)

Falls jemand anders sowas auch nochmal such hier der kurze Code. Funktioniert soweit. Vielen Dank fuer die Tipps.



```
package Interface;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;

public class Log {
	
	public static void writeLog(String ip) throws IOException{
		Calendar cal = Calendar.getInstance ();
		String FileName = "" + cal.get( Calendar.DAY_OF_MONTH ) + ".log";
		FileWriter fw = new FileWriter(FileName, true);
		BufferedWriter bw = new BufferedWriter(fw);
		
		bw.write(ip + "     " + cal.get(Calendar.HOUR_OF_DAY) + 
				":" + cal.get( Calendar.MINUTE ) + 
				":" + cal.get( Calendar.SECOND ));
		bw.newLine();
		
		bw.close();
	}

}
```


----------



## FArt (4. Okt 2008)

Als kleines Beispiel (zur Übung) ganz nett (wenn auch kein guter Code), sonst gilt die Empfehlung: man sollte das Rad nicht neu erfinden. Es gibt eine Menge Log-APIs, die das gleiche können... nur noch besser.


----------



## Landei (4. Okt 2008)

Ich nehme java.util.logging. Nicht ganz so komfortabel wie log4j, aber immer noch einfacher als selbst schreiben (und man braucht kein extra jar)


----------

