2013-10-22 78 views
0

我想在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过程中检查它们?

预先感谢

回答

2

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

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

Proc in Ruby