Sauber, force RollingFileAppender Log4j zu Rollen, kurz nach Mitternacht?
Das normale Verhalten der RollingFileAppender Log4j ist zu Rollen, wenn die erste log-Nachricht tritt auf, an einem anderen Tag, aber einige fühlen sich warm und fuzzy mit leeren logfiles für jedes Datum, auch wenn nichts aufgetreten. Gibt es eine Möglichkeit zu zwingen, es zu Rollen, nach Mitternacht ohne schreiben von dummy-Nachrichten an die log?
- Meine Vermutung ist, dass dies nicht das Standardverhalten, denn dies würde erfordern, eine Art timer-thread im hintergrund ausgeführt werden, die erfordern würde, die Ihre Anwendung ständig läuft. Dies ist nicht eine Grenze von log4j.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe diesen code sehr genau - die einfache Antwort ist 'Nein'. Das rollover wird ausgelöst, als Teil der doAppend() fließen an die Appender - der einzige Weg, um es zu lösen ist, anmelden etwas.
Könnte man fake diese mit cron: nur haben Sie ein cron-Skript berühren Sie die Datei für morgen, wie bei 11:58. Das wird Ihnen die leere logfile Verhalten, die Sie suchen.
Hier ist der code, der implementiert die rollover-Funktion: