Ruby Daemons ротация логов - PullRequest
       53

Ruby Daemons ротация логов

6 голосов
/ 30 марта 2011

Когда я устанавливаю параметры ведения журнала для гема Daemons (1.1.0), как мне добиться поведения, аналогичного этой строке?

logger = Logger.new('foo.log', 10, 1024000)

Опции демона:

options = {
      :ARGV         => ['start'],
      :dir_mode     => :normal, 
      :dir          => log_dir,
      :multiple     => false,
      :ontop        => false
      :mode         => :exec,
      :backtrace    => true,
      :log_output   => true
    }

1 Ответ

3 голосов
/ 19 апреля 2011

К сожалению, гем Daemons не использует Logger.Он перенаправляет STDOUT и STDERR прямо в файл.

Здесь вы можете увидеть подробности того, как работает перенаправление: https://github.com/ghazel/daemons/blob/master/lib/daemons/daemonize.rb#L241-261

Из-за этого вам придется использоватьчто-то вроде logrotate и перезапустите демон, если вы хотите выполнить ротацию файла журнала.

Если это неприемлемо, я бы предложил использовать Logger непосредственно, как вы указали в вопросе.

...