Durchführung eine Feste Größe-log-Datei, oder eine kreisförmige Puffer auf der Festplatte
Ich habe diesen Frage, aber es ist nicht das, was ich Suche.
Ich versuche, herauszufinden, wie die Kappe einer log-Datei Größe (z.B. 10 MB), und sobald er getroffen wird, entweder:
- zu schreiben beginnen, an den Anfang, anstatt Anhängen, oder
- halten Anhängen, aber löschen Sie den Inhalt von Anfang an wie ich so
Weiß nicht wirklich, über die Sprache - so lange, wie es möglich ist 🙂
Hinweis: ich bin mir bewusst, rolling log-Dateien-Ansatz (ein Ziel treffen Größe, umbenennen, und fortsetzen der Protokollierung). Ich bin auf der Suche zu vermeiden, die eine solche Rolle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die beiden mit dem Autor und dem Leser, dann können Sie etwas wie das hier tun:
Die Idee ist für die Verwaltung einer zirkulären Puffer, indem die explizite Feste Größe Rekordzahlen. Notwendig ist, Logik zu verwalten, ob Datensatz N vorhanden ist, und zu prüfen, Fehler.
Warum nicht Rollen logfiles? Muss es genau das sein, 10MB? Wenn 10MB ist Ihre Quote, eine gängige Praxis wäre, zu schreiben bla bla bla.anmelden, und, wenn es Sie trifft, sagen, 1MB, Datei umbenennen, um bla bla bla.log.1 und beginnen Sie zu schreiben bla bla bla.log. Viel einfacher, und es ist eine sehr gängige Praxis. In der Tat, wenn Sie unter Linux verwenden, syslog, es ist kostenlos.
Wenn Sie Log4[j/Netto] es gibt Optionen für eine rolling log. Finden Sie die RollingFileAppender. Auch gibt es eine option bei der Angabe der Attribute der Protokolldatei so legen Sie die maximale Dateigröße für die Protokolldatei. (Param: MaxFileSize)