为什么在旋转日志时导轨会崩溃?在轨道中旋转日志的正确方法是什么?

时间:2012-02-01 19:34:44

标签: ruby-on-rails logrotate

我不想通过使用logrotate for UNIX来设置4个节点服务器,每个服务器有3个应用程序。

所以我决定使用以下内部环境设置我的rails应用程序.rb:

  log_path = "#{Rails.root}/log/#{ENV['RAILS_ENV']}.log"
  shift_age = 'weekly' # you can either 1) specify 2 params 50, 1024bytes OR 2) specify 1 param 'daily | weekly | monthly'
  config.logger = Logger.new(log_path, shift_age)

但是,这会导致rails应用程序在文件翻转后中断。

我想知道,使用rails应用程序轮换日志的最佳方法是什么?是logrotate吗?感谢。

1 个答案:

答案 0 :(得分:0)

这是因为一个进程试图在另一个进程尝试旋转日志文件的同时旋转日志文件,发生竞争条件,并且服务器停止响应请求,因为致命异常被提升