Ich habe Logrotate so eingerichtet, dass meine JBoss Application Server 4.2.2.GA-Protokolle jede Nacht gedreht werden. Nachdem die Protokolldateien gedreht wurden und JBoss erneut mit dem Schreiben beginnt, beginnen die neuen Protokolldateien mit so vielen NUL-Zeichen, wie Zeichen in der vorherigen Protokolldatei vorhanden waren, gefolgt von den neuen Protokollnachrichten. Wenn die JBoss-Datei server.log beispielsweise 5000 Byte lang war, beginnt die neue Datei server.log nach der Drehung mit 5000 NUL-Zeichen. Nach einigen Tagen beginnt server.log mit NUL-Zeichen, die den Zeichen in allen Protokolldateien der vorherigen Tage zusammen entsprechen. Es scheint, als würde sich JBoss an seine Position in der Protokolldatei erinnern und dort weitermachen, wo es in der abgeschnittenen Datei aufgehört hat. Hier ist meine logrotate Konfiguration für JBoss:
/apps/jboss-4.2.2.GA/server/default/log/*log {
daily
rotate 30
compress
notifempty
copytruncate
missingok
nocreate
}
Ich kann JBoss nicht jede Nacht neu starten, da dies zu viele Ausfallzeiten bedeuten würde. Ich kann den log4j DailyRollingFileAppender auch nicht verwenden, da er keine alten Protokolldateien löscht. Hat jemand Logrotate bekommen, der richtig mit JBoss funktioniert?