0

抱歉,如果这是一个非常基本的问题,但是在我在这里检查了很多条目(并尝试实施解决方案)之后,我仍然没有答案...

目标是有一个 ruby​​ 类,它可以在 ruby​​ 脚本和 ruby​​ on rails 模型中使用,但没有版本(或尽可能少的版本)。我想要以下

logger.info 'some tracing'

但是,当我将这样的语句放在 ruby​​ 类中时,我收到了错误消息 - ruby​​ 和 ruby​​ on rails 中的未知方法记录器。出色地。当我以这种方式修改它时

Rails.logger.info 'some tracing'

它开始在 rils 中工作,但当然不能在没有 rails 的 ruby​​ 中工作。我做错了什么?
我读了这个http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger但我仍然感到困惑,因为“发送消息”部分的示例不起作用。所以_再次抱歉,但我认为没有其他可能性可以连接到“蜂巢思维”并寻求帮助;-)

4

1 回答 1

1

Rails 默认使用 ruby​​ 记录器。

在此处查看 API 文档:Logger (Ruby 2.0)

这是一个例子:

require 'logger'

logger = Logger.new(STDOUT)
logger.level = Logger::WARN

logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")

编辑

用法:

require 'logger' 

class MyClass 

  def initialize
    @logger = logger = Logger.new(STDOUT)
    @logger.level = Logger::WARN
  end

  def say_something
    @logger.info("You can't see me I'm not important enough")
    @logger.warn("I'm visible")
  end

end
于 2013-06-06T09:41:19.887 回答