Опция 1: системный журнал + logrotate
Вы можете настроить рельсы, чтобы использовать инструменты системного журнала.
Пример в config / environment / production.rb .
# Use a different logger for distributed setups
config.logger = SyslogLogger.new
Таким образом, вы регистрируетесь в syslog и можете использовать инструменты по умолчанию для поворота журналов.,
Вариант 2: обычные журналы Rails + logrotate
Другой вариант - просто настроить logrotate для сбора журналов, оставленных рельсами.В Ubuntu и Debian это будет, например, в файле с именем /etc/logrotate.d/rails_example_com
.
/path/to/rails.example.com/tmp/log/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
copytruncate
}
Согласно рекомендациям ниже, в Rails рекомендуется использовать copytruncate
, чтобы избежать перезапускаПриложение Rails.
Редактирование: удалено «sharedscripts / endcript», так как они здесь не используются и вызывают проблемы согласно комментарию.И удалил create 640 root adm
согласно комментарию.