16 Stimmen

Wie lassen sich Protokolle für Schienenanwendungen am besten rotieren?

Ich habe ein 1GB Slice von slicehost und ich habe 4 Projekte auf dieser Box laufen. Alle 4 Anwendungen sind Ruby on Rails Anwendungen. Ich fragte mich, was ist der beste Weg, um sicherzustellen, dass Log-Dateien rotiert werden.

Ich würde es vorziehen, 4 verschiedene Protokolldateien zu haben, eine für jede Anwendung, anstatt eine große Protokolldatei für alle 4 Anwendungen zu haben.

Ich verwende Ubuntu.

Ich bin Beifahrer.

0voto

Joshua Vanner Punkte 1

Um zu vermeiden, dass die Anwendung neu gestartet werden muss, können Sie, wie oben erwähnt, die folgende vollständige logrotate-Konfiguration verwenden:

/etc/logrotate.d/rails

<path_to_rails_app>/log/*.log {
  daily
  size 100M
  missingok
  notifempty
  rotate 4
  compress
  delaycompress
  copytruncate
  nodateext
 }

0voto

Jinbo Punkte 159

ActiveSupport::Logger ist der Standard-Logger gemäß der Rails Allgemeine Konfiguration .

Dadurch werden die Protokolldateien alle 512 Megabyte rotiert, wobei die letzten 50 Dateien erhalten bleiben.

config.logger = ActiveSupport::Logger.new(Rails.root.join('log', "#{Rails.env}.log"), 50, 512 * 1024 * 1024)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X