Recherche…


Rails.logger

Utilisez toujours Rails.logger.{debug|info|warn|error|fatal} plutôt que puts . Cela permet à vos journaux de tenir dans le format de journal standard, d'avoir un horodatage et d'avoir un niveau afin que vous choisissiez s'ils sont suffisamment importants pour être affichés dans un environnement spécifique. Vous pouvez voir les fichiers journaux séparés pour votre application sous log/ directory avec le nom de votre environnement d'application rails. comme: development.log ou production.log ou staging.log

Vous pouvez facilement faire pivoter les journaux de production des rails avec LogRotate. Il vous suffit de faire une petite configuration comme ci-dessous

Ouvrez /etc/logrotate.conf avec votre éditeur linux préféré vim ou nano et ajoutez le code ci-dessous dans ce fichier en bas.

/YOUR/RAILSAPP/PATH/log/*.log { 
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  copytruncate
}

Alors, comment ça marche? C'est incroyablement facile. Chaque bit de la configuration effectue les opérations suivantes:

  • daily - Faites pivoter les fichiers journaux chaque jour. Vous pouvez également utiliser chaque semaine ou chaque mois ici.
  • missingok - Si le fichier journal n'existe pas, ignorez-le
  • tourner 7 - Ne conserve que 7 jours de journaux
  • compresser - GZip le fichier journal en rotation
  • delaycompress - Faites pivoter le fichier un jour, puis compressez-le le lendemain pour être sûr qu'il n'interfère pas avec le serveur Rails
  • notifempty - Ne faites pas pivoter le fichier si les journaux sont vides
  • copytruncate - Copiez le fichier journal, puis videz -le. Cela permet de s’assurer que le fichier journal Rails est en cours d’écriture afin que vous ne rencontriez pas de problèmes car le fichier ne change pas réellement. Si vous ne l'utilisez pas, vous devrez redémarrer votre application Rails à chaque fois.

Exécution de Logrotate Puisque nous venons d'écrire cette configuration, vous voulez la tester.

Pour lancer logrotate manuellement, faites simplement: sudo /usr/sbin/logrotate -f /etc/logrotate.conf

C'est tout.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow