Sök…


Rails.logger

Använd alltid Rails.logger.{debug|info|warn|error|fatal} snarare än puts . Detta gör att dina loggar kan passa in i standardloggformatet, ha en tidsstämpel och ha en nivå så att du väljer om de är tillräckligt viktiga för att visas i en viss miljö. Du kan se de separata loggfilerna för din applikation under log/ katalog med ditt rails appmiljönamn. som: development.log eller production.log eller staging.log

Du kan enkelt rotera rails produktionsloggar med LogRotate. Du måste bara göra en liten konfiguration som nedan

Öppna /etc/logrotate.conf med din favorit Linux redaktör vim eller nano och lägg till koden nedan i den här filen längst ner.

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

hur det fungerar Det här är fantastiskt enkelt. Varje bit av konfigurationen gör följande:

  • dagligen - Rotera loggfilerna varje dag. Du kan också använda varje vecka eller månad här i stället.
  • missingok - Om loggfilen inte finns, ignorera den
  • rotera 7 - Håll bara 7 dagars stockar runt
  • komprimera - GZip loggfilen vid rotation
  • delaycompress - Rotera filen en dag, komprimera den sedan nästa dag så att vi kan vara säkra på att den inte kommer att störa Rails-servern
  • notifempty - Rotera inte filen om loggarna är tomma
  • copytruncate - Kopiera loggfilen och tömmer den sedan. Detta säkerställer att loggfilen Rails skriver till alltid finns så att du inte får problem eftersom filen faktiskt inte ändras. Om du inte använder detta, måste du starta om din Rails-applikation varje gång.

Köra Logrotate Eftersom vi just skrev den här konfigurationen vill du testa den.

För att köra logrotate manuellt, gör bara: sudo /usr/sbin/logrotate -f /etc/logrotate.conf

Det är allt.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow