Ruby on Rails
Rails logger
Zoeken…
Rails.logger
Gebruik altijd Rails.logger.{debug|info|warn|error|fatal}
plaats van puts
. Hierdoor kunnen uw logboeken in het standaard logboekformaat passen, een tijdstempel hebben en een niveau hebben, zodat u kunt kiezen of ze belangrijk genoeg zijn om in een specifieke omgeving te worden weergegeven. U kunt de afzonderlijke logbestanden voor uw toepassing bekijken onder log/
map met de naam van uw rails-app-omgeving. zoals: development.log
of production.log
of staging.log
U kunt eenvoudig de productielogboeken van rails draaien met LogRotate. U hoeft alleen een kleine configuratie uit te voeren zoals hieronder
Open /etc/logrotate.conf
met je favoriete linux-editor vim
of nano
en voeg de onderstaande code in dit bestand onderaan toe.
/YOUR/RAILSAPP/PATH/log/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
Dus, hoe het werkt Dit is fantastisch eenvoudig. Elk bit van de configuratie doet het volgende:
- dagelijks - Roteer de logbestanden elke dag. U kunt hier ook wekelijks of maandelijks gebruiken.
- missingok - Als het logbestand niet bestaat, negeer het dan
- 7 roteren - bewaar slechts 7 dagen logboeken
- comprimeren - GZip het logbestand bij rotatie
- delaycompress - Roteer het bestand de ene dag en comprimeer het de volgende dag zodat we zeker kunnen zijn dat het de Rails-server niet stoort
- notifempty - Roteer het bestand niet als de logboeken leeg zijn
- copytruncate - Kopieer het logbestand en maakt het vervolgens leeg. Dit zorgt ervoor dat het logbestand waarnaar Rails schrijft altijd bestaat, zodat u geen problemen krijgt omdat het bestand niet verandert. Als u dit niet gebruikt, moet u uw Rails-toepassing elke keer opnieuw opstarten.
Logrotate uitvoeren Aangezien we deze configuratie zojuist hebben geschreven, wilt u deze testen.
Ga als volgt te werk om logrotate handmatig uit te voeren: sudo /usr/sbin/logrotate -f /etc/logrotate.conf
Dat is het.