Ruby Daemons记录旋转

时间:2011-03-30 00:45:52

标签: ruby rubygems daemons

当我将日志记录参数设置为Daemons(1.1.0)gem时,我将如何实现与此行相似的行为?

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 个答案:

答案 0 :(得分:3)

不幸的是,Daemons gem不使用Logger。它会将STDOUTSTDERR直接重定向到文件。

您可以在此处查看重定向的详细信息: https://github.com/ghazel/daemons/blob/master/lib/daemons/daemonize.rb#L241-261

因此,如果要进行日志文件轮换,则必须使用logrotate之类的内容并重新启动守护程序。

如果这是不可接受的,我建议您直接使用问题中提供的Logger