Linux-Java-Logs rotieren mit log4j oder logrotate.d

9

Ich habe ein Spring-Projekt mit log4j unter Linux (Debian, Ubuntu und RHEL). Jetzt möchte ich die Rotation der Best Practices Logs für die log4j generierten Logs implementieren.

Ich habe vorher logrotate.d für andere non-java-Komponenten verwendet und es hat super für mich funktioniert. Ich musste nach Größe / Zeit rotieren und die alten Logs komprimieren und Logrotate konnte all dies tun.

Ich bin neu bei log4j und frage mich nun, wie ich die Log-Rotation konfigurieren soll.

  1. Soll ich log4j nur für die Protokollierung und logrotate für die Rotation verwenden?
  2. Verwenden Sie nur log4j für die Rotation?
  3. Verwenden Sie eine Mischung aus beiden?

Was ist Ihre Erfahrung? Was ist die beste Vorgehensweise?

    
hnviet 05.04.2011, 02:05
quelle

2 Antworten

3

Normalerweise benutze ich normalerweise log4j für Protokollierung und anfängliche Rotationen, und ich benutze logrotate für die Komprimierung und Archivierung. Der Grund ist, dass ich versuche, die Protokollierungsregeln beizubehalten, einschließlich der zu protokollierenden Datei (en), Größe, Namenskonvention usw., die mit der Anwendung verknüpft werden sollen. Ich versuche dann und setzen Sie die sysadmin Typ Konfigurationen, wie wie viele zu halten, wann zu komprimieren, wann in Backup-Verzeichnis in der logrotate verschieben.

    
Steven Mastandrea 05.04.2011, 03:15
quelle
0

Es gibt keine Entsprechung für logrotate unter Windows (siehe Ссылка ). Wenn Sie also planen, Ihre Java-Anwendung unter Windows auszuführen, ist log4j die einzige Option, die Sie zum Konfigurieren der Protokollrotation haben.

    
asmaier 18.09.2013 12:35
quelle

Tags und Links