11 votes

Linux-Java rotation des logs avec log4j ou logrotate.d

J'ai un projet Spring utilisant log4j sur Linux (Debian, Ubuntu et RHEL). Maintenant, je voudrais mettre en œuvre la rotation des journaux des meilleures pratiques pour les journaux générés par log4j.

J'ai déjà utilisé logrotate.d pour d'autres composants non-java et cela a très bien fonctionné pour moi. J'avais besoin d'une rotation par taille/temps et de compresser les anciens journaux et logrotate pouvait faire tout cela.

Je suis nouveau dans log4j et je me demande maintenant comment configurer la rotation des journaux.

  1. Dois-je utiliser log4j uniquement pour la journalisation et logrotate pour la rotation ?
  2. Utiliser uniquement log4j pour la rotation ?
  3. Utiliser un mélange des deux ?

Quelle est votre expérience ? Quelle est la meilleure pratique ?

6voto

Steven Mastandrea Points 2041

En général, j'utilise log4j pour la journalisation et les rotations initiales, et j'utilise logrotate pour la compression et l'archivage. La raison en est que j'essaie de conserver les règles de journalisation, y compris le(s) fichier(s) à journaliser, la taille, la convention de nommage, etc. qui doivent être associées à l'application. J'essaie ensuite de mettre les configurations de type sysadmin, comme combien en conserver, quand compresser, quand déplacer vers un répertoire de sauvegarde dans le logrotate.

0voto

asmaier Points 1363

Il n'y a pas d'équivalent pour logrotate sous Windows (voir https://serverfault.com/questions/358172/equivalent-of-logrotate-for-Windows ). Ainsi, si vous envisagez d'exécuter votre application Java sous Windows, log4j est la seule option dont vous disposez pour configurer la rotation des journaux.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X