Hallo Leute,
ich möchte gerne für meine Anwendung eine Logdatei über alle benutzen Klassen
erstellen.
In dieser Logdatei sollen nicht nur Exceptions gelogt werden, sondern auch von mir generierte Outputs.
Als Zeilenkenner soll noch ein Timestamp mitgeführt werden.
Bisher habe ich das immer über eine ArrayListe gelöst.
Diese ArrayList wurde in allen Klassen mit
ArrayList.add(outputstring) gefüllt.
public static List outputList = new ArrayList();
...
Calendar calendar = Calendar.getInstance();
tstamp = new Timestamp(calendar.getTimeInMillis());
...
FileWriter fwr = new FileWriter(logFile);
BufferedWriter bwr = new BufferedWriter(fwr, 1024);
...
for(Iterator iterOutputlist = outputList.iterator();iterOutputlist.hasNext(); ){
String outputline = (String)iteroutputlist.next();
outputline = tstamp.toString() + outputline;
bwr.write(outputline,0,outputline.length());
bwr.newLine();
}
bwr.close();
Das hat bisher auch immer funktioniert. Leider ist meine Output ziemlich lang und ich bekomme einen Out of Memory. Ich denke das die 65MB Grenze der JVM durch die Lange ArrayList gesprengt wird.
Hat jemand einen Tip für so ne Logfileerstellung?
mfg
sportingt
ich möchte gerne für meine Anwendung eine Logdatei über alle benutzen Klassen
erstellen.
In dieser Logdatei sollen nicht nur Exceptions gelogt werden, sondern auch von mir generierte Outputs.
Als Zeilenkenner soll noch ein Timestamp mitgeführt werden.
Bisher habe ich das immer über eine ArrayListe gelöst.
Diese ArrayList wurde in allen Klassen mit
ArrayList.add(outputstring) gefüllt.
public static List outputList = new ArrayList();
...
Calendar calendar = Calendar.getInstance();
tstamp = new Timestamp(calendar.getTimeInMillis());
...
FileWriter fwr = new FileWriter(logFile);
BufferedWriter bwr = new BufferedWriter(fwr, 1024);
...
for(Iterator iterOutputlist = outputList.iterator();iterOutputlist.hasNext(); ){
String outputline = (String)iteroutputlist.next();
outputline = tstamp.toString() + outputline;
bwr.write(outputline,0,outputline.length());
bwr.newLine();
}
bwr.close();
Das hat bisher auch immer funktioniert. Leider ist meine Output ziemlich lang und ich bekomme einen Out of Memory. Ich denke das die 65MB Grenze der JVM durch die Lange ArrayList gesprengt wird.
Hat jemand einen Tip für so ne Logfileerstellung?
mfg
sportingt