6

当我为 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
    }
4

1 回答 1

3

不幸的是,守护进程 gem 不使用 Logger。它重定向STDOUTSTDERR直接到一个文件。

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

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

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

于 2011-04-19T05:40:51.410 回答