【发布时间】:2012-06-29 13:41:04
【问题描述】:
通常我可以用Logger写日志:
//abc.rb
require 'logger'
logger = Logger.new('foo.log')
$./abc.rb
但在Daemons 中出现权限错误:
//xyz.rb
require 'logger'
require 'daemons'
Daemons.run_proc('xyz') do
logger = Logger.new('foo.log')
end
$./xyz.rb
/home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:599:in `initialize': Permission denied - foo.log (Errno::EACCES)
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:599:in `open'
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:599:in `create_logfile'
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:594:in `open_logfile'
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:549:in `initialize'
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:314:in `new'
from /home/raincole/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/logger.rb:314:in `initialize'
我在同一目录中以相同的身份运行 abc.rb 和 xyz.rb。为什么一个不能像另一个一样记录?
【问题讨论】:
-
守护进程是否设置了有效的用户ID?
标签: ruby logging daemon daemons