Ruby守护程序日志轮换

6

当我在为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

很不幸,Daemons gem没有使用Logger。它直接将STDOUTSTDERR重定向到文件中。

你可以在这里看到重定向的详细信息: https://github.com/ghazel/daemons/blob/master/lib/daemons/daemonize.rb#L241-261

因此,如果您想要进行日志文件轮换,您将不得不使用类似于logrotate的东西并重新启动守护进程。

如果这不可行,我建议直接像您在问题中提供的那样使用Logger


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接