Ruby on Rails
Enregistreur de rails
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.