T
trez
Gast
Gibt es eine Möglichkeit die Grösse von Files zu begrenzen und zwar so, dass ab einer bestimmten Grösse immer die ältesten Zeilen rausfliegen wenn neue geschrieben werden? (Wenn das nicht genau zeilenorientiert funktioniert sondern eine Anzahl Bytes verwirft, ist es auch egal)
In meinem Projekt wird ein Logfile geschrieben. Das wird erstellt, dann der syserr darauf umgeleitet und das wars.
Kurzfassung:
Gibt es die oben genannte Möglichkeit auf für Files, die nicht umgeleitet und "vergessen" werden ohne dass man das selbst auscodiert?
Etwas was mich am angewendeten Verfahren überrascht ist die Tatsache, dass offensichtlich auch bei Abstürzen immer alles ins Log-File geschrieben wird, obwohl es da ja keinen sichtbaren flush oder close gibt und das muss zwingend so bleiben. Auch möchte ich nicht das ganze logfile irgendwie buffern und immer das Ganze schreiben
Ja java.util.logging.FileHandler habe ich kurz angeschaut (sehr kurz, ich gebs zu) aber XML möchte ich nicht in den Logfiles - das soll reiner Text bleiben, da sich diverse Kunden angewöhnt haben, das selbst zu lesen und das sind keine Softies
So nebenbei: Wenn ich jetzt überall System.err.println ersetzen muss, wird es sehr aufwendig und das spricht auch gegen java.util.logging.
In meinem Projekt wird ein Logfile geschrieben. Das wird erstellt, dann der syserr darauf umgeleitet und das wars.
Kurzfassung:
Java:
public void init() {
...
FileOutputStream fos = new FileOutputStream(name, false);
PrintStream ps = new PrintStream(fos);
System.setErr(ps);
} // und weg sind ps und fos ...
Gibt es die oben genannte Möglichkeit auf für Files, die nicht umgeleitet und "vergessen" werden ohne dass man das selbst auscodiert?
Etwas was mich am angewendeten Verfahren überrascht ist die Tatsache, dass offensichtlich auch bei Abstürzen immer alles ins Log-File geschrieben wird, obwohl es da ja keinen sichtbaren flush oder close gibt und das muss zwingend so bleiben. Auch möchte ich nicht das ganze logfile irgendwie buffern und immer das Ganze schreiben
Ja java.util.logging.FileHandler habe ich kurz angeschaut (sehr kurz, ich gebs zu) aber XML möchte ich nicht in den Logfiles - das soll reiner Text bleiben, da sich diverse Kunden angewöhnt haben, das selbst zu lesen und das sind keine Softies
So nebenbei: Wenn ich jetzt überall System.err.println ersetzen muss, wird es sehr aufwendig und das spricht auch gegen java.util.logging.