进行和记录

时间:2013-10-22 11:47:50

标签: ruby-on-rails logging proc

我试图在Proc方法中记录一些变量,但是它没有写入日志文件。

Rails.logger.info("testing")
Proc.new do
  Rails.logger.info("testing again")
end

它只在日志文件中打印测试。

此外,我尝试在Proc过程中编写一个新的日志文件,同样它也没有做任何事情。

Rails.logger.info("testing")
Proc.new do
  log = Logger.new('proc.log')
  log.info('testing')
end

请帮我记录变量或解释如何在Proc过程中检查变量?

提前致谢

1 个答案:

答案 0 :(得分:2)

这是因为Proc本身不执行代码,而只是将代码块作为对象返回。所以你需要调用这个对象。

Rails.logger.info("testing")
my_proc = Proc.new do
  Rails.logger.info("testing again")
end
my_proc.call

Proc in Ruby