»

[Ruby on Rails] Comment recycler les logs de son application?

Moi — Cissou @ 21:57

Je sais, je devais faire une note sur les raisons qui m’ont poussées a choisir Ruby on Rails, mais avec le développement de Pronostikr, sa mise en production et un déménagement en cours, pas facile de trouver le temps pour une note détaillée.

Au lieu de ca, je vais plutôt essayer de mettre en ligne les quelques problèmes que j’ai rencontrés pour le déploiement de mon appli, et surtout comment j’ai pu résoudre ce problème!

Aujourd’hui: comment recycler les logs?
Alors que cela me semblait être plus que simple (et il se trouve que c’est très simple en effet :) ), j’ai parcouru pas mal de blogs et forums avant de trouver une solution satisfaisante. J’ai donc d’abord cherché une solution Rails, comme un gem ou un plugin, mais rien de très concluant de ce coté. C’est ainsi que je suis tombé sur LogRotate, commande Linux simple et puissante qui est la pour vous faciliter la vie pour tout ce qui touche a la rotation des fichiers de logs!

Comment l’utiliser?
Déjà, lire le man logrotate ;-)
Ensuite, voici ma configuration que j’ai définie dans /MON APPLI/config/logrotate.conf

# Rotate Rails application logs
/MON APPLI/log/*.log {
compress
weekly
delaycompress
missingok
notifempty
copytruncate
rotate 10
}

Voici ce que fait chaque ligne:
- la première ligne est la pour définir le chemin vers les logs de votre application
- compress, option pour indiquer si vous souhaitez que les anciens logs soient compressés pour sauver de l’espace disque
- weekly, car je veux que mes logs soient archivés 1 fois par semaine. Vous pouvez aussi les changer tous les jours (daily) ou 1 fois par mois (monthly)
- delaycompress : pour compresser les logs a partir de la deuxieme fois ou ils sont archivés
- missingok : ne génère pas d’erreur si un fichier de log est absent
- notifempty : évite d’archiver les logs qui sont vides
- copytruncate : fait une copie de sauvegarde du fichier de log avant de l’effacer
- rotate 7 : le nombre maximum d’archives que je veux garder

Etant sur un hébergement partagé, pas moyen pour moi d’écrire sous /etc (la ou se trouve logrotate.conf par défaut). Mais il est possible de lancer logrotate en précisant non seulement le fichier de configuration que l’on souhaite, mais aussi le fichier logrotate.status (option -s), qui garde un trace des différents archivages. L’option -f permet de redémarrer logrotate immédiatement. Sinon, l’archivage se déroulera automatiquement en fonction de votre configuration (le jour d’après, la semaine d’après, …)

/usr/sbin/logrotate -f -s ./config/logrotate.status ./config/logrotate.conf

Et voila, le tour est joué!

Pronostikr, site de pronostics sur les matchs de foot gratuit et entre amis, est ouvert

Projets — Tags: , , , , — Cissou @ 15:07

Ça y est, il est en ligne, et ca fait plaisir! Dès les premiers inscrits, quelques soucis lié a Internet Explorer, mais bon, rien de catastrophique. Surtout, je suis assez impatient de voir comment tout cela va se goupiller, voir si les gens vont se prendre au jeu. Je sais que j’y retrouverai au minimum ceux avec qui je fais les pronostics ERA depuis 4 ans, mais bon, l’idée est aussi de ramener quelques autres personnes pour rendre le tout plus excitant ;-)

En parlant du blog ERA, il sera certainement “recyclé”, vu qu’il est tout de même bien positionner sur les différents moteurs de recherche, mais qu’il ne servira plus de support a notre championnat de pronostics… J’ai déjà ma petite idée sur la question, mais je vous en ferai part une fois que j’aurais convaincu d’autres rédacteurs…

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 Les Notes de Cissou | powered by WordPress with Barecity