Tom*_*mmy 6 ruby rubygems daemons
当我将日志记录参数设置为Daemons(1.1.0)gem时,我将如何实现与此行相似的行为?
logger = Logger.new('foo.log', 10, 1024000)
Run Code Online (Sandbox Code Playgroud)
守护进程选项:
options = {
:ARGV => ['start'],
:dir_mode => :normal,
:dir => log_dir,
:multiple => false,
:ontop => false
:mode => :exec,
:backtrace => true,
:log_output => true
}
Run Code Online (Sandbox Code Playgroud)
不幸的是 Daemons gem 不使用 Logger。它重定向STDOUT并STDERR直接到一个文件。
您可以在此处查看重定向如何工作的详细信息: https://github.com/ghazel/daemons/blob/master/lib/daemons/daemonize.rb#L241-261
因此,如果您想进行日志文件轮换,则必须使用logrotate之类的工具并重新启动守护进程。
如果这是不可接受的,我建议Logger像您在问题中提供的那样直接使用。